Подтвердить что ты не робот

Импорт node и выражение с типом в TypeScript

Я пытаюсь настроить приложение TypeScript express/node в коде Visual Studio в соответствии с руководством Microsoft, но вместо этого изменить его на использование TypeScript когда дело доходит до установки определений типов с помощью typings, мне, кажется, приходится устанавливать больше пакетов, чем руководство.

Я выполняю следующую пару команд:

typings install node --ambient --save
typings install express --ambient --save

Однако попытка создания только с этими пакетами приводит к следующей ошибке:

error TS2307: Cannot find module 'serve-static'.

Для следующих типов:

  • мим
  • экспресс-обслуживания-статическое-ядро
  • служат статические

Я могу решить эту проблему, установив необходимые тиски, но кажется, что что-то типизация должна делать сама по себе.

Я хотел проверить, не упустил ли я фундаментальный шаг для автоматического зависания зависимостей или от усталости руководства?

В случае, если это уместно, мой tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
        "outDir": "bin",
        "sourceRoot": "src"
    },
    "exclude": [
        "node_modules",
        "typings/browser.d.ts",
        "typings/browser"
    ]
}

Мой tsc - версия 1.8.7, и у меня TypeScript установлен глобально.

4b9b3361

Ответ 1

Начиная с выпуска TypeScript 2.0 в прошлом месяце рекомендуемым инструментом для установки тинейпов является наш верный старый друг npm вместо typings или tsd.

npm install @types/node --save

С npm больше не нужно беспокоиться о "глобальных" или "окружающих" установках.

Вам также не нужно беспокоиться о добавлении тегов <reference> в начало ваших исходных файлов; просто отбросьте следующее свойство в compilerOptions в tsconfig.json, а компилятор TypeScript автоматически найдет установочные номера npm, которые вы установили:

"typeRoots": [ "node_modules/@types" ]

Вот сообщение в блоге, в котором объясняется изменение более подробно: https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

Ответ 2

Обучаемый урок теперь обновлен и включает следующие команды:

typings install node --ambient
typings install express serve-static express-serve-static-core --ambient

Обратитесь к @cdbajorin comment за информацией о том, почему зависимости не загружаются автоматически.

Ответ 3

чтобы сохранить всех головную боль, волшебная команда, чтобы получить типизацию для node, теперь:

typings install node --source env --global --save