Npm link的作用與使用示例代碼
一、為什么要用Npm link
庫(kù)包在開(kāi)發(fā)或迭代后,不適合發(fā)布到線(xiàn)上進(jìn)行調(diào)試(過(guò)程繁瑣且會(huì)導(dǎo)致版本號(hào)膨脹)
二、Npm link工作原理
`npm link` 可以幫助我們模擬包安裝后的狀態(tài),它會(huì)在系統(tǒng)中做一個(gè)快捷方式映射,讓本地的包就好像 install 過(guò)一樣,可以直接使用。
三、Npm link的使用
同一目錄下的使用

// 進(jìn)入應(yīng)用文件夾 $ cd xxx/project_npmlink/project1 // 軟鏈接 $ npm link ../module1
npm link操作會(huì)在項(xiàng)目的node_modules目錄下創(chuàng)建一個(gè)module1的超鏈接(類(lèi)似 Windows 的快捷方式),鏈接到 project_npmlink/module1。生成的虛擬包名會(huì)根據(jù)module1的package.json進(jìn)行指定。
不同目錄下使用:
項(xiàng)目和模塊不在同一個(gè)目錄下,需要先把模塊鏈接到全局,然后再在項(xiàng)目中鏈接模塊
$ cd xxx/project_npmlink/module1 $ npm link
npm link 操作會(huì)在全局 node_modules 目錄下創(chuàng)建一個(gè) module-name 的超鏈接。
// 再去項(xiàng)目目錄 $ cd xxx/project_npmlink/project1 // 通過(guò)包名建立鏈接 $ npm link module1
此時(shí)只需要指定 module-name,在項(xiàng)目的 node_modules 目錄下創(chuàng)建一個(gè) module-name 的超鏈接,鏈接到 /usr/local/lib/node_modules/module-name,然后再由全局目錄下的超鏈接,鏈接到具體的代碼目錄下。
三、刪除npm link的鏈接
解除項(xiàng)目和模塊的鏈接
// 進(jìn)入項(xiàng)目目錄,解除鏈接 $ cd xxx/project_npmlink/project1 $ npm unlink module1
解除模塊的全局鏈接
// 進(jìn)入項(xiàng)目目錄,解除鏈接 $ cd xxx/project_npmlink/module1 $ npm unlink module1
補(bǔ)充:npm link
記錄一下,開(kāi)發(fā)npm包時(shí)要在項(xiàng)目中調(diào)試,可以在npm包中執(zhí)行npm link 鏈接到全局, 在項(xiàng)目中npm link xxxxx(npm包名);當(dāng)調(diào)試完成后,解除npm link 可以在項(xiàng)目中執(zhí)行 npm unlink xxxx(npm包名)
第二種方法,npm list -g --depth 0查看全局安裝的包,找到全局包的路徑,直接刪除這個(gè)文件
到此這篇關(guān)于Npm link的作用與使用的文章就介紹到這了,更多相關(guān)Npm link的作用與使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
websocket+node.js實(shí)現(xiàn)實(shí)時(shí)聊天系統(tǒng)問(wèn)題咨詢(xún)
最近新學(xué)習(xí)websocket,做了一個(gè)實(shí)時(shí)聊天。用Node.js搭建的服務(wù):serevr.js. 兩個(gè)相互通信頁(yè)面:client.html 和server.html 但是就是有很多問(wèn)題,下面通過(guò)本文給大家分享下2017-05-05
Nodejs腳本快速導(dǎo)出MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)
在數(shù)據(jù)庫(kù)管理和數(shù)據(jù)遷移的過(guò)程中,常常需要將數(shù)據(jù)庫(kù)中的表數(shù)據(jù)和結(jié)構(gòu)進(jìn)行導(dǎo)出,本文將使用Node.js編寫(xiě)一個(gè)腳本實(shí)現(xiàn)快速?gòu)腗ySQL數(shù)據(jù)庫(kù)中導(dǎo)出所有表的數(shù)據(jù)和結(jié)構(gòu),并保存為單獨(dú)的SQL文件,需要的可以參考下2024-10-10
node.js使用Moment.js js 時(shí)間計(jì)算方法示例小結(jié)
這篇文章主要介紹了node.js使用Moment.js js 時(shí)間計(jì)算方法,結(jié)合實(shí)例形式分析了Moment.js js模塊時(shí)間計(jì)算的常用操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2023-05-05
node.js中使用q.js實(shí)現(xiàn)api的promise化
這篇文章主要介紹了node.js中使用q.js實(shí)現(xiàn)api的promise化,promise一個(gè)標(biāo)準(zhǔn),它描述了異步調(diào)用的返回結(jié)果,包括正確返回結(jié)果和錯(cuò)誤處理,需要的朋友可以參考下2014-09-09
詳解nodejs爬蟲(chóng)程序解決gbk等中文編碼問(wèn)題
本篇文章主要介紹了nodejs爬蟲(chóng)程序解決gbk等中文編碼問(wèn)題,解決了網(wǎng)頁(yè)的編碼與nodejs默認(rèn)編碼不一致造成的亂碼問(wèn)題,有興趣的可以了解一下2017-04-04
Puppeteer 爬取動(dòng)態(tài)生成的網(wǎng)頁(yè)實(shí)戰(zhàn)
這篇文章主要介紹了Puppeteer 爬取動(dòng)態(tài)生成的網(wǎng)頁(yè)實(shí)戰(zhàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Node.JS獲取GET,POST數(shù)據(jù)之queryString模塊使用方法詳解
本文將詳細(xì)介紹nodeJS中的queryString模塊使用方法,包括Node.JS獲取GET,POST數(shù)據(jù)的方法,需要的朋友可以參考下2020-02-02

