@subject: 測試本地node包
@author: leinov
@date: 2018-10-25
當我們編寫一個node包,在釋出到npm上之前,需要在本地測試該包。假設我們有一個已經編寫好的本地node包xcxutil
包和一個測試該包的專案myapp
在同一個資料夾下project
下,有以下兩種方式可以在myapp
專案中測試本地的xcxutil
包
|-- project
|-- myapp
|-- xcxutil
複製程式碼
相對路徑安裝xcxutil測試
進入專案目錄,按照相對路徑找到xcxutil包,直接安裝。
cd myapp
npm install ../xcxutil
複製程式碼
然後進入myapp
中的node_modules
資料夾檢查是否安裝成功,一般情況下只要路徑正確,node包編寫正確,都會安裝成功,這樣就可以在myapp中使用xcxutil
。
const xcxutil = require('xcxutil');
複製程式碼
注意,myapp
目錄下必須要有package.json
檔案,否則無法安裝任何node包。
使用 npm link 連線到全域性測試
上面的情況是node包和測試專案在同一個資料夾下,所以很方便的就找到路徑,但很多情況是我們本地專案眾多,分佈在不同的資料夾下,所以找路徑就很麻煩了,所以我們推薦使用npm link
這種將node包連線到全域性的方式。
cd xcxutil
npm link
複製程式碼
執行上面命令得到以下輸出
/Users/leinov/.nvm/versions/node/v8.11.3/lib/node_modules/xcxutil -> /Users/leinov/project/xcxutil
複製程式碼
意思是將project
下的xcxutil
連線到全域性的node_modules
下,我們進入全域性node_modules
包下也可以檢視到xcxutil
包
然後在myapp中也link一下該包即可測試使用
cd myapp
npm link xcxutil
複製程式碼
這樣xcxutil就被安裝到myapp下啦,在xcxutil下的修改也會同步到myapp下,就可以實現本地測試了,
取消在全域性的連線
cd xcxutil
npm unlink
複製程式碼
xcxutil已經發布,歡迎大家使用github地址。