npm link 命令解析

 文字轉的node

對開發者而言,這算是最有價值的命令。假設咱們開發了一個模塊叫 test ,而後咱們在 test-example 裏引用這個模塊 ,每次 test 模塊的變更咱們都須要反映到 test-example 模塊裏。不要擔憂,有了 npm link 命令一切變的很是容易。linux

首先咱們須要把 test 連接到全局模式下:npm

cd ~/work/node/test # 進入test模塊目錄
npm link # 建立連接到$PREFIX/lib/node_modules

那麼 test 的模塊將被連接到 $PREFIX/lib/node_modules 下,就像個人機器上 $PREFIX 指到 /usr/local ,那麼 /usr/local/lib/node_modules/test 將會連接到 ~/work/node/test 下。執行腳本 bin/test.js 被連接到 /usr/local/bin/test 上。spa

接下來咱們須要把 test 引用到 test-example 項目中來:3d

cd ~/work/node/test-example # 進入test-example模塊目錄
npm link test # 把全局模式的模塊連接到本地

npm link test 命令會去 $PREFIX/lib/node_modules 目錄下查找名叫 test 的模塊,找到這個模塊後把 $PREFIX/lib/node_modules/test 的目錄連接到 ~/work/node/test-example/node_modules/test 這個目錄上來。blog

如今任何 test 模塊上的改動都會直接映射到 test-example 上來。ip

 

再好比假設咱們開發不少應用,每一個應用都用到 Coffee-script :開發

npm install coffee-script -g # 全局模式下安裝coffee-script
cd ~/work/node/test # 進入開發目錄
npm link coffee-script # 把全局模式的coffee-script模塊連接到本地的node_modules下
cd ../test-example # 進入另外的一個開發目錄
npm link coffee-script # 把全局模式的coffee-script模塊連接到本地
npm update coffee-script -g # 更新全局模式的coffee-script,全部link過去的項目同時更新了。

 

 

 

原理  linux的系統下會自動執行ln -s 命令來建立一個軟鏈接指向你的全局包路徑test

 

這麼必定段文字有點繞。下面用畫圖解釋一下 module

 

例:

test-example 使用須要 test模塊,就是上文紅色文字

 

 

例2 :每一個應用都用到 Coffee-script 上文藍色字

 

相關文章
相關標籤/搜索