2016-11-30 2 views
1

Я хочу обновить проект [email protected] до tsc @ 2 и в процессе канавки typings из моей цепочки инструментов.Какова эквивалентность типов globalDevDependencies для пакетов npm @types?

Это не проблема для обычных depencies как эти зависимости от моего 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" 
} 

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

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'. 

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

npm i @types/mocha -g 

я наткнулся на this issue, где решение было не исключает папку типов в tsconfig.json:

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

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

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

ответ

1

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

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

The types option also have a verbose documentation.

+0

Спасибо! Это сработало для меня. Моя интерпретация документации заключается в том, что эти типизации должны быть включены по умолчанию, хотя это немного запутывает, что без нее это не работает. «По умолчанию все видимые пакеты« @types »включены в вашу компиляцию». – pulekies

Смежные вопросы