Как установить экспресс в типом?
Я пытаюсь использовать expressjs в своем приложении.
После установки с помощью typings install express --ambient --save
я запустил tsc
, но получаю две ошибки:
typings/main/ambient/express/index.d.ts(17,34): ошибка TS2307: не удается найти модуль "служить-статический". typings/main/ambient/express/index.d.ts(18,27): ошибка TS2307: не удается найти модуль "экспресс-сервис-статическое ядро".
Итак, я попытался установить оба:
typings install serve-static --ambient --save
typings install express-serve-static --ambient --save
а затем снова запустите tsc, но получите еще одну ошибку:
typings/main/ambient/serve-static/index.d.ts(79,24): ошибка TS2307: Невозможно найти модуль "mime".
Как я могу решить эти проблемы? Как я могу автоматически установить все зависимости express?
Ответы
Ответ 1
С Typescript 2.0 (https://blogs.msdn.microsoft.com/typescript/2016/09/22/announcing-typescript-2-0/), теперь он отличается:
Если вы установите Typescript с помощью следующей команды:
npm install -g typescript @2.0
Вам нужно будет установить экспресс-типизацию с помощью команды
npm install --save @types/express
Вместо типирования, устанавливаемого с использованием ambient/global, как в предыдущих версиях. Типики устанавливаются в каталоге node_modules/@types/express
У вашего пакета .json будет следующий фрагмент после выполнения npm install
из types
:
"dependencies": {
"@types/express": "^4.0.33"
}
Ответ 2
{
"globalDependencies": {
"express": "registry:dt/express#4.0.0+20160708185218",
"express-serve-static-core": "registry:dt/express-serve-static-core#4.0.0+20160715232503",
"mime": "registry:dt/mime#0.0.0+20160316155526",
"node": "registry:dt/node#6.0.0+20160621231320",
"serve-static": "registry:dt/serve-static#0.0.0+20160606155157"
}
}
Это мой рабочий Typings.json
Ответ 3
Я просто наткнулся на это сам, и я считаю, что это дубликат:
Импорт node и выражение с типом в TypeScript
Я установил как serve-static, так и express-serve-static, а затем получил ошибки, указав, что мне не хватает "mime" и "http".
Мне пришлось установить типовые символы node, чтобы устранить отсутствующую ссылку на http и тимпинг mime, чтобы разрешить отсутствующую ссылку mime.
typings install mime --ambient --save
typings install node --ambient --save
Ответ 4
Команда, которая работала для меня (день, когда я отправлял):
typings install dt~express --global --save
(эмбиент был заменен глобальным)
Чтобы найти другой связанный модуль, вы можете использовать команду typings search express
(она также дает вам информацию об источнике)
Ответ 5
Я сам столкнулся с этой проблемой и выяснил, что у вас также должен быть установленный модуль nodeJS, а также его ввод.
Поэтому, когда у вас настроен корректив typescript и ваш проект, вам нужно установить как зависимость nodeJS, так и @types dependecy.
npm install express --save
npm install --save @types/express