Как установить экспресс в типом?

Я пытаюсь использовать 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