依赖树表面的逻辑结构与依赖树真实的物理结构

依赖树表面的逻辑结构与依赖树真实的物理结构并不一定相同!

这里要先提到两个命令:tree -d(linux)和npm ls(npm)

在一个npm项目下:

tree -d命令以树状图的方式列出一个项目下所有依赖的物理结构

npm ls命令以树状图的方式列出一个项目下所有依赖的逻辑结构

 

以官方文档为例子:

项目example1有两个依赖模块:mod-a模块和mod-c模块;

mod-a模块有一个依赖模块mod-b@1.0.0模块

mod-c模块有一个依赖模块mod-b@2.0.0模块

tree -d 和npm ls运行结果如下:(注意npm版本为npm3而非npm2)

 Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训

 

先看看下面那个红框的结果,这应该是“最符合我们理解”的依赖树,首先项目下形成了一级依赖——mod-a模块和mod-b模块,然后以这两个模块为父模块再追加二级依赖模块mod-b@1.0.0和<