在npm3中,它尝试以最大的平面方式安装依赖项。但是在npm2中,我们已经拥有了npm dedupe
命令,这似乎也可以平衡依赖性。如果我已经使用npm2进行npm dedupe
,那么使用npm3是否有任何优势?
答案 0 :(得分:0)
我做了一些研究并安装了npm3
,事实证明两者在dedupe
命令方面似乎没有区别。主要区别在于,当npm3
中安装了模块时,它们将倾向于安装"扁平",而在npm2
及更早版本中,它们将位于依赖模块的下方。 node_modules
目录。
以下是一系列说明性的ASCII图。
在npm2
中(模块A取决于B和C,它们都依赖于D):
+----A----B----D
|
\
-C----D
在dedupe
和npm2
中npm3
之后,D会上移到最高级别:
+----A----B
| |
| \
| -C
D
在npm3
npm install
之后,我们会看到B和C也会升级到最高级别:
+----A
|
|
|
D
|
|
|
B
|
|
|
C