为什么打字稿自定义类型定义包含在此项目中?

时间:2016-07-10 05:56:51

标签: typescript angular typescript-typings

我一直在研究this angular 2 project,我不明白,src/custom-typings.d.ts是如何被包含的?此文件包含typescript自定义类型定义。来源中没有import src/custom-typings.d.ts。我可以将此文件重命名为任何内容,我可以将此文件放在任何目录中,无论如何都会包含此文件。即使我将扩展名更改为*.ts(不是*.d.ts),也会将其包含在内。

我认为因为它我的IDE很慢。如何禁用项目中所有*.ts个文件中类型定义的自动搜索?我想手动包含此文件

2 个答案:

答案 0 :(得分:1)

它似乎是由webpack加载的https://github.com/AngularClass/angular2-webpack-starter/blob/8e93ae998e76efbd7166e0b0c531396098bd4e34/config/webpack.common.js#L137,它会查找除.*.ts.spec.ts

之外的所有.e2e.ts个文件

如果您不希望它被webpack加载,您也可以在加载程序中排除.d.ts扩展名,并在需要这些自定义类型的文件中添加/// <reference path="../path_to/custom-typings.d.ts" />

答案 1 :(得分:0)

从&#39; fileName&#39;编写import {}时它自动查找fileName.d.ts。那些文件只有函数和变量的声明(说它们是什么类型)而不是函数本身,这就是为什么它仍然有效 - 生成的js文件仍然存在。

对于第二个问题 - 你没有提到你拥有的IDE。所以我不能回答你。 我并不了解你在所有* .ts文件中对类型定义的看法...如果你不想使用类型注释,就不要使用打字稿。并且只查看正在处理(和导入)的函数中的类型