是否有充分的理由在打字稿项目中将编译器选项“声明”设置为 true
Posted
技术标签:
【中文标题】是否有充分的理由在打字稿项目中将编译器选项“声明”设置为 true【英文标题】:Is there any good reason to set the compiler option "declaration" to true in a typescript project 【发布时间】:2018-06-05 02:21:12 【问题描述】:我有一个打字稿项目,我可能想在未来将它作为 NPM 包发布。
现在我已经在我的tsconfig.json
中设置了"declaration": true
。
然而,这给我带来了一些问题(这对这个问题并不重要)。
如果我将它设置为false
,一切都会按我的意愿运行。
declaration
标志设置为 true 时,会生成 d.ts
文件。但是根据帖子我的理解
About "*.d.ts" in TypeScript 是,这仅在您尚未使用 typescript 编程(即您的项目是 javascript)时才相关,以便您以后可以在 typescript 项目中轻松使用此 javascript 库,因为您现在拥有类型。
那么当项目是“纯”打字稿时,为什么有人应该将此设置设置为true
?我可以安全地将其设置为false
吗?
【问题讨论】:
【参考方案1】:在 typescript 项目中将编译器选项“声明”设置为 true 有什么好的理由吗?
是的。
特别是如果您要作为 NPM 包发布!
理由
当您创建 NPM 包时,您应该包含 .js
和 .d.ts
文件,而不是 .ts
文件。这使您的包真正可移植,并确保它可以被 TypeScript 项目和普通的旧 JavaScript 项目使用。
这是 NPM 上 TypeScript 的推荐打包机制,有关发布的更多信息可以在 handbook 中找到。
【讨论】:
在等待答案时,我自己得出了同样的结论——感谢您的确认;)以上是关于是否有充分的理由在打字稿项目中将编译器选项“声明”设置为 true的主要内容,如果未能解决你的问题,请参考以下文章