为啥人们将 typescript 的类型作为依赖项存储在 package.json(而不是 devDep)中? [复制]

Posted

技术标签:

【中文标题】为啥人们将 typescript 的类型作为依赖项存储在 package.json(而不是 devDep)中? [复制]【英文标题】:Why do people store typescript's types as dependency in package.json (instead of devDep)? [duplicate]为什么人们将 typescript 的类型作为依赖项存储在 package.json(而不是 devDep)中? [复制] 【发布时间】:2018-02-01 01:10:49 【问题描述】:

我注意到在几乎所有关于 typescript 的教程或博客文章中,人们只是通过 npm 为类型和/或 typescript 相关模块安装包作为依赖项。 这是与编译时相关的事情,最终用户将永远不必加载它,所以对我来说,从逻辑上讲,这应该都是 impl。详细信息,因此转到 package.json 的 devDependecies 部分。 我假设我遗漏了一些东西,并且想要紧凑而合理的答案:)

【问题讨论】:

【参考方案1】:

虽然这是我在 17 年写这篇文章时的立场,但我得到了相反的证据。有关详细信息,请参阅linked duplicate。


因为他们懒惰/不知道差异。

@types 绝对应该是@​​987654324@,你不想在npm i some-package 时安装它们,只有在克隆代码并调用npm i 时才安装。

你完全正确。

【讨论】:

您的答案不正确。肯定有npm i some-package 应该下拉类型的场景,正如***.com/questions/45176661/… 的(正确)答案中所讨论的@

以上是关于为啥人们将 typescript 的类型作为依赖项存储在 package.json(而不是 devDep)中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

私有 Typescript 库作为 npm 依赖项

为啥 TypeScript 接受值作为数据类型?

使用 Typescript 和 Webpack 管理依赖项的 AngularJS

可以在 Typescript 库中的 package.json 中将 @types 库作为正常依赖项吗?

如何从节点模块中的@types 保存类型

将 Firestore 依赖项和类型导入 node.js