nodejs - 如果模块在父级中不存在,则 npm 安装依赖项

nodejs - npm install dependency if module doesn't exist in parent

我有一个用例,我的项目依赖于 Lodash,然后还有其他 node_modules 进一步依赖于 Lodash。

当我对我的项目进行 'npm install' 时。 Lodash 安装了两次, 一个用于我的 'project/node_modules/lodash',第二个用于我的依赖项 'project/node_modules/dependency-1/node_modules/lodash'。

我在想是否可以只在项目的根目录中安装 'lodash' 依赖项?发生这种情况时,我的依赖项将尝试加载父项的 node_module/lodash 而不是它自己的。

这应该可以节省一些内存中的模块加载。

Sine Module 缓存基于 FilePath,我不想在内存中保留两个 Lodash 实例,一个用于父目录,一个用于依赖本身。

使用npm dedupe。它会在可能的情况下将它们向上移动到树中,从而使您的依赖关系变平。

查看文档:https://docs.npmjs.com/cli/dedupe

有一个 issue 可以解决这个问题。