這種方法采用的是npm緩存的機(jī)制實(shí)現(xiàn)
涉及命令:
拉取本地緩存包,如果不存在則報(bào)錯(cuò)
npm install?--offline
拉取并本地緩存的npm包不存在時(shí)在網(wǎng)上拉取并緩存
1.? npm install??--prefer-online? //??它將強(qiáng)制 npm 重新驗(yàn)證緩存數(shù)據(jù)
2.? npm install? --prefer-offline //只有在緩存中丟失了某些內(nèi)容時(shí)才能訪問網(wǎng)絡(luò)
// 需要注意的是有時(shí)候無法正確的導(dǎo)入相應(yīng)的js包,但是cnpm又無法正確緩存時(shí)肉盹,我們可以使用下面的方法解決措近,
//下面這種方案只是我個(gè)人在項(xiàng)目中遇到,還未分析具體原因
//? npm install? --prefer-offline-registry=http://registry.npm.taobao.org
步驟:
1. 先本地檢查是否有npm包的緩存文件。
由于本人也未深入研究枫夺,采取最簡(jiǎn)單的方法鹦马,刪除項(xiàng)目中的所有包,運(yùn)行npm install??--offline當(dāng)報(bào)錯(cuò)時(shí)說明存在沒有緩存的包
2.拉取需要的包并緩存(第一步未報(bào)錯(cuò)可以跳過)
運(yùn)行npm install? --prefer-offline 命令
3.找到node配置的npm緩存目錄拷貝到內(nèi)網(wǎng)
4.在內(nèi)網(wǎng)項(xiàng)目?jī)?nèi)運(yùn)行npm install??--offline
注意:
由于npm包的版本問題过椎,在package.json中記錄的包的版本不一定和實(shí)際導(dǎo)入包版本一致室梅,這樣會(huì)導(dǎo)致內(nèi)網(wǎng)npm install??--offline命令執(zhí)行報(bào)錯(cuò)。這個(gè)時(shí)候需要把package-lock.json也一并遷移。當(dāng)然這是針對(duì)平常忽略這個(gè)文件的時(shí)候