Вопрос:

Какова эквивалентность типов globalDevDependencies для пакетов npm @types?

node.js typescript types npm typescript-typings

266 просмотра

1 ответ

22391 Репутация автора

Я хочу обновить проект tsc@1.8 до tsc @ 2 и в процессе работы typingsс моей цепочкой инструментов.

Это не проблема для общих зависимостей, так как эти зависимости от моего typings.json:

"dependencies": {
  "bluebird": "registry:npm/bluebird#3.3.4+20160515010139",
  "lodash": "registry:npm/lodash#4.0.0+20160416211519",
  "mime": "registry:npm/mime#1.3.0+20160423043021"
}

Я могу легко установить через

npm i @types/bluebird @types/lodass @types/mime

Тем не менее, у меня также есть некоторые globalDevDependenciesдля моей настройки теста в моем typings.json:

"globalDevDependencies": {
  "mocha": "registry:dt/mocha#2.2.5+20160317120654"
}

Моя первая попытка была:

npm install @types/mocha --save-dev

И все же теперь tscжалуется, что не знает mochaфункций itи describe.

tests/unit/HelloServiceTest.ts(4,1): error TS2304: Cannot find name 'describe'.
tests/unit/HelloServiceTest.ts(5,5): error TS2304: Cannot find name 'it'.
tests/unit/HelloServiceTest.ts(10,5): error TS2304: Cannot find name 'it'.

В общем, я ошибочно подумал, что установка этих глобальных компонентов может решить проблему:

npm i @types/mocha  -g

Я также наткнулся на эту проблему, где решение состояло в том, чтобы не исключать папку типов в tsconfig.json:

"exclude": [
    "node_modules",
    "!node_modules/@types"
]

все же это также не работало для меня, бросая ту же самую ошибку.

В конце концов, я не знаю, как добиться того же эффекта, который был typings» globalDevDependenciesи globalDependenciesимел место, когда я хочу использовать just npmи @types/*пакеты вместо typings.

Автор: k0pernikus Источник Размещён: 30.11.2016 10:10

Ответы (1)


2 плюса

22391 Репутация автора

Решение

Этот поток указал мне правильное направление, так как я должен добавить типы к tsconfig.json:

{
  "compilerOptions": {
    "target": "ES6",
    "types": ["node", "mocha", "chai"],
    ...
}

Опция types также содержит подробную документацию.

Автор: k0pernikus Размещён: 30.11.2016 10:26
Вопросы из категории :
32x32