2016-04-24 61 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