【问题标题】:Why typescript custom type definitions are included in this project?为什么这个项目中包含 typescript 自定义类型定义?
【发布时间】:2016-11-12 08:17:40
【问题描述】:

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

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

【问题讨论】:

    标签: typescript angular typescript-typings


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      当您编写 import {} from 'fileName' 时,它会自动查找 fileName.d.ts。这些文件只有函数和变量的声明(说明它们是什么类型)而不是函数本身,这就是它仍然有效的原因 - 生成的 js 文件仍然存在。

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

      【讨论】:

      • 欢迎来到 SO :) 如果您需要更多信息来完成您的答案,您应该评论这个问题,而不是评论您的答案。
      • 我无法评论,没有足够的回购。我试图在没有所有必要信息的情况下给出答案
      • 我没有写 'import {} from custom-typings' 但包含此文件。如果我要重命名这个文件,那么这个文件也将被包括在内。这就是为什么我认为所有 *.ts 文件都会被扫描以查找类型定义
      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 2020-11-23
      相关资源
      最近更新 更多