node.js - npm 包列表中删除了哪些内容?

标签 node.js npm

我正在运行命令作为 npm 列表,我得到下面提到的列表作为我的依赖项,我想知道 deduped 的含义是什么。请告诉我这是什么意思。

Please check below mention image...!!!!

最佳答案

deduped 是“deduplicated”的缩写(已删除重复项)。 npm dedupe 的文档解释 npm 如何做到这一点:

Searches the local package tree and attempts to simplify the overall structure by moving dependencies further up the tree, where they can be more effectively shared by multiple dependent packages.

换句话说,它查看多个包是否具有相同的依赖项(意味着相同的包版本范围)并将它们“指向”同一个包。

引用的是同一个包,所以不必安装两次。

此外,它会将包“向上”移动(使树变平)。这完全有意义,否则一个包将不得不查看其他包的 node_modules (这会有点困惑)并有助于简化依赖关系。

您可以验证这一点,因为在您的依赖关系图中显示 deduped 的每个包都可以在图中至少再找到一次,通常位于更高的级别。

在您发布的屏幕截图中,content-type@1.0.4body-parser 的依赖项。再往下一点,它也被列为上一级 express 的直接依赖。

关于node.js - npm 包列表中删除了哪些内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52781142/

相关文章:

javascript - 如何在开发中运行多个 Node.js 应用程序

node.js - Typeorm 急切加载不适用于一对一关系

node.js - Firebase 身份验证(不是函数,也不是构造函数)

javascript - 如何在 package.json 中添加目录以在 npm 中发布

node.js - "sudo npm install -g grunt-cli"给我一个错误

node.js - 无法创建新的 Angular 项目

node.js - 无法使用 Express.js 更改网站图标

node.js - 如何使用package.json保存全局包的安装?

npm - 如何在 Yarn 2 中列出和使用包?

node.js - 如何使用 node.js 通过 ListMatchingProducts API 访问 Amazon mws 中的 10 多个产品