2016-04-24 3 views
0

В угловом проекте 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" 
] 

Волшебство происходит от файлов раздела Glob tsconfig. Связанная проводка в SO

+0

Вот tsconfig.json. { "compilerOptions": { "целевые": "ES5", "модуль" : "CommonJS", "emitDecoratorMetadata": правда, "experimentalDecorators": истинная }, "filesGlob": [ «* */* ц», "node_modules/**/*" ], "исключить.!": [ "node_modules", "типизации/основные", "типизации/main.d.ts" ] , "compileOnSave": false, "atom": { "rewriteTsconfig": false } }, когда я добавляю определение типа main.d .ts тип def не подбирается потребителями. – koo9

+0

ОК, похоже, что добавление их в main.d.ts не будет работать, необходимо добавить их в другой файл. этот main.d.ts может быть исключен. – koo9

+0

В вашем tsconfig.json вы исключили main.d.ts как «исключить»: ["node_modules", "typings/main", "typings/main.d.ts"] – randominstanceOfLivingThing