測試本地node包

leinov發表於2018-10-25

@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地址

相關文章