npm v3版本

npm v2中安装依赖都是树状的层级关系,而v3则是平级关系

如果c模块中同样需要b模块,但是与a中b模块不是同个版本,则这时就采用的树状结构,层层嵌套

使用 tree -d node_modules 查看树状结构

 删除依赖: 

原因是b V1.0已经是一个顶级的依赖,我们不能装B V2.0作为一个顶级的依赖性。因此模块B V2.0安装为模块D的嵌套依赖性,尽管我们已经有一个副本安装,嵌套模块C.下方

 

 

如果通过2+模块所需的二次依赖关系,但没有安装作为在目录层级中的顶层的依赖性,它将被复制并嵌套在主依赖性的下面。

但是,如果是由2+模块所需的二次依赖关系,但 安装为在目录层级中的顶层的依赖性,这将 被复制,并将被需要它的主要依赖共享。

只有一个顶层的module,其他的都是深层嵌套,如果想去除掉深层的嵌套用 npm depude

这种情况下只能适合:

升级到:

这时候用npm depude最合适.

 

我希望我的node_modules目录是相同的。我怎样才能做到这一点?

npm install命令,从专门用来安装包时 package.json,将始终产生相同的树这是因为安装顺序从package.json始终按字母顺序排列。同样安装顺序意味着你会得到相同的树。

您可以通过删除您可靠地获得相同的依赖关系树node_modules 目录并运行npm install每当你做出改变你的package.json

如果不是这样安装,而是用npm i module的话,就会产生不一样的结果,就会总上面的逻辑安装.

 

 

posted @ 2017-04-01 10:09  jay-  阅读(266)  评论(0编辑  收藏  举报