可以在 Typescript 库中的 package.json 中将 @types 库作为正常依赖项吗?
Posted
技术标签:
【中文标题】可以在 Typescript 库中的 package.json 中将 @types 库作为正常依赖项吗?【英文标题】:It is ok to have a @types library as normal dependency in package.json in a Typescript lib? 【发布时间】:2019-02-03 04:11:58 【问题描述】:...如果 Typescript 项目也应该使用该库?
我正在制作一个使用 node-fetch
和 @types/node-fetch
的 Typescript 库,并将该库发布到公司内部 NPM 中。
如果我只将 @types/node-fetch
声明为开发依赖项,那么稍后库的用户(也在他们的项目中使用 Typescript)将需要手动安装缺少的类型,因为开发依赖项不会传播。
到目前为止,我找到的唯一解决方案是将@types/node-fetch
声明为正常依赖项,但不知何故感觉非常错误(因为“运行时”通常不需要类型)。
这种方法正确吗?还是更好的方法?
【问题讨论】:
【参考方案1】:如果您的公共 API 依赖于来自 @types/node-fetch
的声明,则将 @types/node-fetch
声明为正常依赖项是正确的。见this thread。
【讨论】:
以上是关于可以在 Typescript 库中的 package.json 中将 @types 库作为正常依赖项吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 package.json 中的 typesVersions 字段为较新的 typescript 版本提供更严格的类型?