npm包本地調試方法
npm包開發時,我們不可能每次都執行發布后再進行測試,那我們怎么進行本地調試呢?
本文假如要調試的包為 my-test-0807,包源文件地址為 D:\my-test-0807
一、直接安裝本地的包
npm install D:\my-test-0807
安裝完成后,可以在 node_modules 文件夾中看到 my-test-0807 文件夾,然后我們還可以看到文件名的最右邊會有個箭頭,這個箭頭表示這是一個符號鏈接,符號鏈接也稱為軟鏈接,類似于windows系統中的快捷方式,它是一種特殊的文件,其包含有一條以絕對路徑或者相對路徑的形式指向其它文件或者目錄的引用。
我們在控制臺執行:
ll node_modules
在打印出來的東西中我們可以看到 my-test-0807 這個符號鏈接指向的實際文件, 也就是D:\my-test-0807
二、使用 npm link
使用 npm link 時,我們需要分兩步來執行。
第一步,在我們包源文件根目錄下執行:
npm link
將該包鏈接到本地全局環境

第二步,在我們需要使用該包的項目里進行鏈接:
npm link my-test-0807
然后我們可以看到 node_modules 中出現了 my-test-0807 符號鏈接。
這兩步其實也可以合并為一步,直接在需要使用該包的項目里進行鏈接:
npm link D:\my-test-0807
要取消全局鏈接時,可以在包源文件的根目錄下執行:
npm unlink
也可以直接刪除符號鏈接。
三、使用 npm install
在包源文件的父級目錄中執行:
npm install -g my-test-0807
執行完之后我們會發現,它也創建了一個全局鏈接,看到這里我想很多人都會疑惑,這條命令不是安裝已經發布的 npm 包嗎,為什么會創建一條符號鏈接?其實當我們執行install命令時,如果當前目錄下有該包,npm則會給我們創建該包的全局鏈接,而不是去下載已經發布的包。如果當前目錄下沒有該包,npm會給我們下載已經發布的包。
然后就跟第二種方法一樣,在我們需要使用該包的項目里進行鏈接:
npm link my-test-0807
浙公網安備 33010602011771號