我有一个打字稿项目,我希望将来可以将它作为NPM包发布。
现在,我已经在我的"declaration": true
设置了tsconfig.json
。然而,这会给我带来一些问题(这个问题并不重要)。
如果我把它设置为false
一切正常,我想要它。
设置为true时,declaration
标志会生成d.ts
文件。然而,根据About "*.d.ts" in TypeScript的帖子,我的理解是,只有你还没有用打字稿编程(即你的项目是javascript),这才有意义,这样你以后可以轻松地在打字稿项目中使用这个javascript库,因为你现在有类型。
那么,当项目是“纯粹的”打字稿时,为什么有人应该将此设置设置为true
?我可以安全地将它设置为false
吗?
有没有什么好的理由在打字稿项目中将编译器选项“声明”设置为true?
是。
特别是如果您要作为NPM包发布!
创建NPM包时,应包括.js
和.d.ts
文件 - 而不是.ts
文件。这使您的包真正可移植,并确保它可以被TypeScript项目和普通的旧JavaScript项目使用。
这是NPM上TypeScript的推荐打包机制,有关发布的更多信息可以在handbook中找到。