关于npm:可以在Typescript库的package.json中拥有@types库作为正常依赖项吗?

It is ok to have a @types library as normal dependency in package.json in a Typescript lib?

...如果该库也应该用于Typescript项目?

我正在制作一个使用node-fetch@types/node-fetch的Typescript库,并将该库发布到公司内部的NPM中。

如果我仅将@types/node-fetch声明为dev-dependency,那么以后该库的用户(也在其项目中使用Typescript)将需要手动安装缺少的类型,因为dev-dependencies不会传播。

到目前为止,我发现的唯一解决方案是将@types/node-fetch声明为常规依赖项,但是以某种方式感到非常错误(因为"运行时"通常不需要类型)。

这种方法正确吗? 还是更好的方法呢?


如果您的公共API依赖于@types/node-fetch的声明,则将@types/node-fetch声明为常规依赖项是正确的。 看到这个线程。