如何引用由tsc的声明属性生成的Type Script .d.ts文件中声明的类型

时间:2018-04-24 10:38:33

标签: node.js typescript npm node-modules .d.ts

大图:我的组织有几个用TypeScript编写的应用程序,每个应用程序都包含大量重复的代码。我们已经开始将可重复使用的TypeScript代码打包为NPM包,并将它们发布到TFS 2017中的私有NPM注册表。我们使用Webpack将可重用的TypeScript代码编译为JavaScript并使用declarations属性{ {1}}强制生成tsconfig.json个文件。这是有效的,.d.ts文件包含在NPM包中的JavaScript输出旁边,该包安装在客户端应用程序中。但是,在消费应用程序中引用其中的类型不起作用,除非我直接在消费应用程序中引用.d.ts文件,我想避免这样做。

我们正在使用带有.d.ts方法的TypeScript 2.8+来访问第三方类型,例如,对于Jquery,我在@types文件中有"@types/Jquery": - 导致{{1}成为现实,Visual Studio Code似乎神奇地发现该文件提供了强大的类型检查。

然而,它并没有神奇地发现我自己的打字文件位于package.json。但是,如果我将其添加到TypeScript文件中:

node_modules\@types\jquery\index.d.ts

然后我可以引用文件中定义的类型。但是,这不是一个很好的解决方案,因为它意味着每个消费应用程序都需要知道node_modules\my-package\dist\my-package.d.ts文件夹中我创建的每个自定义类型文件的路径。据推测,这是/// <reference path="../../../node_modules/my-package/dist/my-package.d.ts" /> 语法应该有助于避免的内容。

有没有办法让消费项目发现NPM包中包含的自定义打字文件?。

0 个答案:

没有答案