2016-11-30 6 views
1

Ich möchte ein [email protected] Projekt zu TSC @ 2 und im Prozess Graben typings von meiner Werkzeugkette.Was ist die Äquivalenz von typings globalDevDependencies für npm @types-Pakete?

Es ist kein Problem für die gemeinsamen Depencies wie diese Abhängigkeiten von meinem 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" 
} 

kann ich leicht installieren über

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

Doch auch einige Ich habe globalDevDependencies für meine Testaufbau in meinem typings.json:

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

Mein erster Versuch war:

npm install @types/mocha --save-dev 

Doch jetzt tsc beklagt er die mocha Funktionen it und describe nicht kennt.

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

Als gewagtes fälschlicherweise dachte ich diejenigen global Installation könnte das Problem beheben:

npm i @types/mocha -g 

Ich stolperte auch über this issue, wo die Lösung nicht die Typen Ordner im tsconfig.json ausschließen sollte:

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

aber es funktioniert auch nicht für mich, werfen den gleichen Fehler.

Am Ende weiß ich nicht, wie man die gleiche Wirkung zu erzielen, dass typings 'globalDevDependencies und globalDependencies hatten, als ich gerade npm und die @types/* Pakete statt typings verwenden möchte.

Antwort

1

This thread wies mich in die richtige Richtung, da ich die Typen der tsconfig.json hinzufügen:

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

The types option also have a verbose documentation.

+0

Dank! Das hat für mich funktioniert. Meine Interpretation der Dokumentation ist, dass diese Typings standardmäßig enthalten sein sollten, daher ist es etwas verwirrend, dass es ohne dieses nicht funktioniert. "Standardmäßig sind alle sichtbaren" @types "-Pakete in Ihrer Zusammenstellung enthalten." – pulekies

Verwandte Themen