2016-04-24 41 views
0

在angular 2項目中,有typings.json文件,並且在其引用其他定義文件的輸入文件夾中有main.d.ts。在應用程序文件夾中,.ts文件都沒有對main.d.ts文件的引用,但不知何故,在所有這些ts類中,類型/類信息都顯示得很好。魔術從哪裏來?main.d.ts如何在角度2中工作?

回答

1

應該來自您的tsconfig.json。

你tsconfig.json將有非常類似下面的一個部分。所有的打字稿文件都將列在此文件的文件部分,這些文件將從grunt-typescript-using-tsconfig/之類的東西中自動生成。

"filesGlob": [ 
    "./<dir where you put your typings>/**/*.ts", 
    "./typings/main.d.ts" 
] 

魔法來自tsconfig的filesGlob部分。 SO

+0

以下是tsconfig.json。 { 「compilerOptions」:{ 「目標」: 「ES5」, 「模塊」: 「CommonJS的」, 「emitDecoratorMetadata」:真, 「experimentalDecorators」:真 }, 「filesGlob」:[ 「* */* TS」, 「node_modules/**/*」 ], 「排除!」: 「node_modules」, 「分型/主」, 「分型/ main.d.ts」 ] , 「compileOnSave」:false, 「atom」:{ 「rewriteTsconfig」:false } }當我向main.d添加類型定義時。類型def不被消費者接受。 – koo9

+0

好吧,看起來像將它們添加到main.d.ts將不起作用,需要將它們添加到不同的文件。這個main.d.ts可能被排除在外。 – koo9

+0

在你的tsconfig.json中,排除的main.d.ts按照「exclude」:[「node_modules」,「typings/main」,「typings/main.d.ts」] – randominstanceOfLivingThing