nodejs - 如果模块不存在于父模块中,则为npm install依赖项

时间:2015-07-28 13:56:04

标签: node.js npm lodash

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

我什么时候安装' npm install'在我的项目上。 Lodash安装了两次, 一个用于我的'项目/ node_modules / lodash'第二个是我的依赖'项目/ node_modules / dependency-1 / node_modules / lodash'。

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

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

正弦模块缓存基于FilePath,我不想在内存中加载两个Lodash实例,一个用于父目录,一个用于依赖本身。

1 个答案:

答案 0 :(得分:1)

使用npm dedupe。它会在可能的情况下将它们放在树中,从而使您的依赖项变得平坦。

请参阅文档:https://docs.npmjs.com/cli/dedupe

issue解决此问题。