依賴(lài)樹(shù)表面的邏輯結(jié)構(gòu)與依賴(lài)樹(shù)真實(shí)的物理結(jié)構(gòu)
依賴(lài)樹(shù)表面的邏輯結(jié)構(gòu)與依賴(lài)樹(shù)真實(shí)的物理結(jié)構(gòu)并不一定相同!
這里要先提到兩個(gè)命令:tree -d(linux)和npm ls(npm)
在一個(gè)npm項(xiàng)目下:
tree -d命令以樹(shù)狀圖的方式列出一個(gè)項(xiàng)目下所有依賴(lài)的物理結(jié)構(gòu)
npm ls命令以樹(shù)狀圖的方式列出一個(gè)項(xiàng)目下所有依賴(lài)的邏輯結(jié)構(gòu)
以官方文檔為例子:
項(xiàng)目example1有兩個(gè)依賴(lài)模塊:mod-a模塊和mod-c模塊;
mod-a模塊有一個(gè)依賴(lài)模塊mod-b@1.0.0模塊
mod-c模塊有一個(gè)依賴(lài)模塊mod-b@2.0.0模塊
tree -d 和npm ls運(yùn)行結(jié)果如下:(注意npm版本為npm3而非npm2)
先看看下面那個(gè)紅框的結(jié)果,這應(yīng)該是“最符合我們理解”的依賴(lài)樹(shù),首先項(xiàng)目下形成了一級(jí)依賴(lài)——mod-a模塊和mod-b模塊,然后以這兩個(gè)模塊為父模塊再追加二級(jí)依賴(lài)模塊mod-b@1.0.0和<