一文講懂Npm Link,你會了嗎?
本文轉載自微信公眾號「前端壹棧」,作者落落落洛克。轉載本文請聯系前端壹棧公眾號。
前言
在本地開發npm模塊的時候,我們可以使用npm link命令,將npm 模塊鏈接到對應的運行項目中去,方便地對模塊進行調試和測試
用法
包鏈接是一個兩步過程:
1.為依賴項創建全局軟鏈npm link。一個符號鏈接,簡稱軟鏈,是一個快捷方式,指向系統上的其它目錄或文件。
2.告訴應用程序使用全局軟鏈npm link some-dep。
- cd ~/projects/some-dep
- npm link # 步驟 1.
- cd ~/projects/my-app
- npm link some-dep # 步驟 2.
我們可以像往常一樣在some-dep項目上進行開發. 然后my-app依賴some-dep也是最新的代碼。軟鏈是指向本地的,并不會提交到git,這非常有利于我們的調試
調試
如果使用VSCode并想在some-dep中設置斷點,你需要在調試器中為my-app啟用軟鏈。這樣做是通過設置
- “runtimeArgs”:[
- “-- preserve -symlinks”
- ]
在launch.json。
在代碼中的調試配置中啟用符號鏈接
恢復
當我們不想再使用本地版本時some-dep,請刪除軟鏈。但請注意,npm unlink是npm uninstall的別名
- cd ~/projects/my-app
- npm uninstall --no-save some-dep && npm install
也清理全局鏈接,但它的存在不會影響到my-app.
- cd ~/projects/some-dep
- npm uninstall # 刪除全軟鏈鏈接
總結
掌握npm link的兩步流程是對任何Node.js開發者的工具集的一個有益補充。這個過程包括在依賴關系中運行npm link,以及在應用中運行npm link some-dep。(另外多提一點現代包管理工具pnpm也是利用軟鏈來管理它的依賴視圖)