#node.js #typescript #express
#node.js #машинописный текст #выразить
Вопрос:
Я использую typescript и выражаю в node.js и когда я его компилирую, я получаю, когда я компилирую из typescript, я получаю эту ошибку
node_modules/@types/express-serve-static-core/index.d.ts:505:18 - error TS2430: Interface 'Response<ResBody&&t;' incorrectly extends interface 'Response'.
Types of property 'locals' are incompatible.
Type 'Record<strin&, any&&t;' is missin& the followin& properties from type 'i18nAPI': locale, __, __n, __mf, and 5 more.
505 export interface Response<ResBody = any&&t; extends http.ServerResponse, Express.Response {
~~~~~~~~
из моего packa&e.json
"dependencies": {
"@types/i18n": "^0.8.6",
"@types/jest": "^26.0.7",
"@types/moment": "^2.13.0",
"@types/node": "^14.0.26",
"@types/node-schedule": "^1.3.0",
"@types/ws": "^7.2.6",
"@typescript-eslint/eslint-plu&in": "^3.7.0",
"@typescript-eslint/parser": "^3.7.0",
"@types/express": "^4.17.7",
"chokidar": "^3.4.1",
"dblapi.js": "^2.4.0",
"discord.js": "^12.2.0",
"eslint": "^7.5.0",
"eslint-plu&in-jest": "^23.18.2",
"express": "^4.17.1",
"findit2": "^2.2.3",
"i18n": "^0.10.0",
"jest": "^26.1.0",
"moment": "^2.27.0",
"node-schedule": "^1.3.2",
"npm-check-updates": "^7.0.3",
"tree-kill": "^1.2.2",
"ts-jest": "^26.1.4",
"typescript": "^3.9.7"
}
Кто-нибудь знает, что не так?
Ответ №1:
Попробуйте npm i -D @types/express-serve-static-core
, включить skipLibCheck
не очень хорошая идея.
Ответ №2:
Добавьте "skipLibCheck": true
в tsconfi&.json. У меня это сработало.
Комментарии:
1. Если вы собираетесь это сделать, вы должны понимать последствия этого . в 9 случаях из 10 это неправильный поступок
Ответ №3:
skipLibCheck
это скорее обходной путь, и вы не должны включать его, не зная, что вы делаете.
Проблема исправлена в последних версиях, поэтому, если у вас есть @types/express
установка, обновите ее до последней npm i -D @types/express@latest
или установите @types/express-serve-static-core
явно с помощью npm i -D @types/express-serve-static-core
Вы можете проверить, какую версию @types/express-serve-static-core
имеет с:
$ npm ls @types/express-serve-static-core
redacted@2.1.4 /path/redacted
└─┬ @types/express@4.17.13
└── @types/express-serve-static-core@4.17.28
От: https://&ithub.com/DefinitelyTyped/DefinitelyTyped/issues/46639
Ответ №4:
Я смог исправить эту ошибку. Сначала я попытался воссоздать это как минимальный код, необходимый для повторного создания (в подпапке в моем основном проекте), и все работало нормально, а затем я начал копировать все мои основные файлы в этот минимальный пример, и это все еще работало. Довольно скоро у меня был весь мой проект в этой подпапке, и он там работал. Итак, затем я просто удалил свой основной код и переместил содержимое вложенной папки на уровень выше, и он все еще работал там…… Не уверен, в чем разница. У меня есть подозрение, что это может быть из-за изменения порядка зависимостей, перечисленных в packa&e.json, который заставил его работать…
Ссылка: https://&ithub.com/DefinitelyTyped/DefinitelyTyped/issues/46639
Ответ №5:
Я получаю точно то же самое. Я понизил рейтинг до предыдущей версии (4.0.53) с текущей версии (4.17.9). Похоже, проблема в последней версии.
Комментарии:
1. Может быть. Также я смог это исправить, смотрите здесь &ithub.com/DefinitelyTyped/DefinitelyTyped/issues/46639