对于角度库,DefinitelyTyped vs index.d.ts

时间:2016-07-12 13:32:07

标签: javascript angularjs typescript definitelytyped

我创建了一个简单的库,其中包含角度为1.x的单元测试助手:https://github.com/dakolech/angular-unit-testing-helpers

现在我想添加类型定义。我的问题是: 我应该在我的存储库中创建index.d.ts文件,还是应该在DefinitelyTyped存储库中创建新文件夹?

如果是第一个,那么如何导入此文件中的角度类型(例如ng.IScope)?

1 个答案:

答案 0 :(得分:1)

首选方法是在NPM包中包含类型,并在package.json中指定它们的位置。

您需要在项目中包含[something] .d.ts文件,在package.json中引用“typings”属性,并将其和您的代码发布到NPM。

有关此问题的官方文档,请参阅https://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html

如果您的项目依赖于NPM包中没有包含类型的任何类型,则会变得更加复杂。有关详细信息,请参阅https://github.com/typings/typings/blob/master/docs/faq.md#should-i-use-the-typings-field-in-packagejson。您想要包含一个typings.json文件,该文件指定如何使用Typings来保存您的依赖项,然后告诉您的用户运行typings install npm:your-page,这将为您提供类型定义和所有相关定义。上传.json。