一文講懂Npm Link,你會了嗎?
本文轉(zhuǎn)載自微信公眾號「前端壹?!?,作者落落落洛克。轉(zhuǎn)載本文請聯(lián)系前端壹棧公眾號。
前言
在本地開發(fā)npm模塊的時候,我們可以使用npm link命令,將npm 模塊鏈接到對應(yīng)的運行項目中去,方便地對模塊進(jìn)行調(diào)試和測試
用法
包鏈接是一個兩步過程:
1.為依賴項創(chuàng)建全局軟鏈npm link。一個符號鏈接,簡稱軟鏈,是一個快捷方式,指向系統(tǒng)上的其它目錄或文件。
2.告訴應(yīng)用程序使用全局軟鏈npm link some-dep。
- cd ~/projects/some-dep
- npm link # 步驟 1.
- cd ~/projects/my-app
- npm link some-dep # 步驟 2.
我們可以像往常一樣在some-dep項目上進(jìn)行開發(fā). 然后my-app依賴some-dep也是最新的代碼。軟鏈?zhǔn)侵赶虮镜氐?,并不會提交到git,這非常有利于我們的調(diào)試
調(diào)試
如果使用VSCode并想在some-dep中設(shè)置斷點,你需要在調(diào)試器中為my-app啟用軟鏈。這樣做是通過設(shè)置
- “runtimeArgs”:[
- “-- preserve -symlinks”
- ]
在launch.json。
在代碼中的調(diào)試配置中啟用符號鏈接
恢復(fù)
當(dāng)我們不想再使用本地版本時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 # 刪除全軟鏈鏈接
總結(jié)
掌握npm link的兩步流程是對任何Node.js開發(fā)者的工具集的一個有益補(bǔ)充。這個過程包括在依賴關(guān)系中運行npm link,以及在應(yīng)用中運行npm link some-dep。(另外多提一點現(xiàn)代包管理工具pnpm也是利用軟鏈來管理它的依賴視圖)