Angular 2 - 如何加载TypeScript声明文件?

时间:2017-01-13 23:24:47

标签: angular typescript

我正在通过阅读教程和[快速入门](https://github.com/angular/quickstart)来探索Angular 2(Typescript)。

我很好奇TypeScript编译器如何加载声明文件.d.ts

如果我将.d.ts文件放在root文件夹或/app文件夹中,那么TypeScript编译器似乎只是自己选择它。没有其他对此文件的引用,但我可以在项目中的任何位置使用此文件中声明的变量,而不会出现编译器错误。

如果我将.d.ts文件放在node_modules下的子文件夹中,编译器就不像上一个例子那样自行选择它。

那么,编译器如何知道要加载的.d.ts个文件?它只会加载.d.ts及其子文件夹下的所有root个文件,但node_modules下除外?

谢谢!

1 个答案:

答案 0 :(得分:3)

the documentation中对此进行了描述。最相关的摘录是:

  

目录中存在tsconfig.json文件表明该目录是TypeScript项目的根目录。

     

[...]

     

如果未指定“files”和“include”,则编译器默认包含所有包含目录和子目录中的TypeScript(.ts,.d.ts和.tsx)文件,但使用“exclude”排除的文件除外“财产

     

[...]

     

默认情况下,所有可见的“@types”包都包含在您的编译中。任何封闭文件夹的node_modules / @类型中的包被视为可见;具体而言,这意味着包装在./node_modules/@types/,../node_modules/@types/,../../node_modules/@types/等。