NPM 总是建议在 README.md 文件中添加 @types as --save 依赖项,例如 @types/node、@types/express、@types/bun,但不应该是这样的。因为我总是将它们添加为 --save-dev,并且应该这样对待它们。这真的让我很困惑。
正如@DanielRosenwasser 提到的:
当你编写一个简单的应用程序时,使用
--save-dev
就可以了,而且它不会被用作库。当您可能存在依赖性时,问题就会出现。如果您将类型声明存储在devDependencies
中,您的消费者将不会自动获取您的类型声明。然后,他们必须手动添加您的声明文件依赖项作为他们的devDependencies
。
考虑到破坏消费者比稍大的包更严重,我们在文档中将而且,@blakeembrey 说:
--save
设置为默认值。
简短的回答是针对模块作者的 - 如果作为作者,您想要将 TypeScript 包发布到 NPM 并且依赖项位于开发部分,那么没有人能够安装它并使用它,而无需手动安装您的类型开发依赖项。通过使用依赖项,它们将与包一起安装,消费者可以使用您的 NPM 包而无需额外配置。无论您如何安装模块,都应遵循定义。参见