如何在 Angular 2 中导入 TypeScript 自定义类型定义?

10
我不明白如何在 TypeScript 应用程序中包含自定义类型定义文件。例如,这个应用程序 中有一个名为 src/custom-typings.d.ts 的文件,其中包含自定义类型定义。这个文件是如何被引入的?
我尝试重命名此文件,但它仍然被引入了。文件扩展名可以是*.ts(不仅限于*.d.ts)。Webpack 是否在项目中的每个*.ts文件中搜索类型定义?如果是这样,那么如何更改此行为?如何告诉 Webpack 在特定文件中搜索类型定义?
2个回答

7

如果您没有使用ts-loaders,那么Webpack不会搜索*.ts文件。有许多基于Javascript的库,比如lodash,如果您希望在angular2项目中使用它们并且正在使用typescript进行开发,则必须使用typings。

typings是什么?

在这里阅读答案

如何在您的项目中加载.d.ts文件? 例如,如果您正在使用angular2,则必须使用一些依赖项,如zone。 如果您希望将zone添加到应用程序中,可以简单地执行以下操作:

import "zone.js/dist/zone";

它会寻找d.ts文件并自动加载。

我是这样加载我的依赖项的

import "core-js";
import "zone.js/dist/zone";
import "reflect-metadata";
import "es6-shim";

如果你查看 node_modules/reflect-metadata 文件夹,它包含 reflect-metadata.d.ts 文件。

我希望我能解释清楚并对您有所帮助!


0
不要更改此文件的扩展名,只需使用三斜杠符号在文件中添加自定义定义的引用即可:
/// <reference path="./your-custom-typing.d.ts">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接