我用TypeScript设计了一些类和模块。其他TypeScript应用程序可以直接使用TS文件,而无需类型定义。但是,要发布到npm,我想我需要同时发布JS文件和类型定义文件。我认为手工制作d.ts文件可能很浪费,那么如何从TypeScript文件生成类型定义文件?
答案 0 :(得分:1)
将"declaration": true
添加到您的tsconfig中,以生成* .d.ts文件和* .js文件
要将* .js和* .d.ts文件发布到npm但不发布到github(通常只希望在源代码管理中保留源代码),您需要做一些事情:
"declaration": true
添加到tsconfig "outDir": "dist"
添加到tsconfig "main": "dist/index.js"
(请注意“ js”后缀和dist目录)"types": "dist/index.d.ts"
(注意,这次和dist目录都带有“ ts”后缀)(当然,您的文件名和目录可能会有所不同,以上假设您的分发目录为dist
,主入口为index.ts
)
这无需配置构建脚本,仅是发布所需内容的最低限度,以便其他Node模块和程序可以同时使用JavaScript和TypeScript要求您的模块,而无需将生成的文件置于源代码控制之下。
有关更多详细信息,请参见:
这是我在准备讨论Deno(slides,video)时写的答案,试图描述将用TypeScript编写的Node模块发布到npm的整个过程。这样做,也许您会发现不仅有用的有关生成.d.ts文件的信息,而且还有其他相关的信息。