我在我的项目中使用 TypeScript 2。我想使用一些 js 库,但也想使用该库的类型。我可以使用简单的 npm install @types/some-library
安装类型。我不确定我是否应该 --save
或 --save-dev
他们。在我看来,即使是 DefinetelyTyped GitHub 自述文件,也提到了这两个版本,但从未解释过它们。我认为 @types 应该在 devDependencies
中,因为类型是开发所需的,并且不用于运行时,但我在 dependencies
中多次看到 @types 。我很困惑。
我应该如何决定 @types/* 是否进入 dependencies
或 devDependencies
?实际上是否有一些或多或少的官方说明?
原文由 kamyl 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设您正在开发一个包“A”,其中包含
@types/some-module
包在devDependencies
中。出于某种原因,您要从@types/some-module
导出类型:现在,包“A”的 TypeScript 消费者无法猜测
SomeType
是什么,因为包“A”的devDependencies
没有 安装。在这种特殊情况下,您 需要 将
@types/*
包与常规dependencies
一起放置。对于其他情况devDependencies
已经足够好了。