gpt4 book ai didi

node.js - NodeJS - 为什么 npm 不共享依赖项?

转载 作者:搜寻专家 更新时间:2023-10-31 23:38:45 25 4
gpt4 key购买 nike

甚至我构建 package.json 并运行

npm 安装./

npm install dependencies of dependencies even it's perfectly equal.

例)ExpressJs 4.0.0-rc4 node_modules/cookie === cookie-parser node_modules/cookie

当 nodeJs 加载文件时,它是按文件缓存的。因此,如果 npm 不共享依赖项,则同一个模块可以被解析多次并使用更多内存。

最佳答案

原因是为了项目维护和一致(且简单)的使用。现在每个包都完全独立于其他包,并且每个包都遵循自己的 package.json 文件。

如果一个包更新了它的依赖项,NPM 只需要检查那个包。如果它共享一个引用,它不仅需要为更改的版本更新新版本,还需要切换并重新引用另一个包的旧版本。或者,如果删除了共享引用的包,NPM 将需要重新检查所有其他包 以查看是否还有其他人仍在使用它。以及共享时的其他奇怪用例。

现在存储很便宜,而且大多数 NPM 模块的(文件)大小都很小。易于维护和持续更新比保存几 MB 的文件更有值(value)。

关于node.js - NodeJS - 为什么 npm 不共享依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22889917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com