摘要:概述本篇文章承接上文,記錄的和版本在包管理方面的異同,基于閱讀官方原文整理簡化。此時(shí)的文件夾如下所示包的復(fù)制和取消復(fù)制假設(shè)我們有一個(gè)項(xiàng)目依賴添加依賴依賴,此時(shí)添加依賴依賴,此時(shí)升級(jí)依賴依賴,此時(shí)升級(jí)依賴依賴,此時(shí)執(zhí)行查看文件夾資源項(xiàng)目
0x000 概述
本篇文章承接上文,記錄的v2和v3版本在包管理方面的異同,基于閱讀官方原文整理簡化。
0x001 v2管理方式假設(shè)有模塊A、B、C,A依賴B1.0,C依賴B2.0,我們可以得出以下依賴圖:
接著我們創(chuàng)建一個(gè)App,同時(shí)依賴A和C,此時(shí)便會(huì)出現(xiàn)依賴地獄
npm不使用單一的B版本包,而是讓不同的B版本同時(shí)存在,只不過存在在各自的依賴包中,
看起來就像這樣
0x002 v3管理方式v3和v2對(duì)于依賴管理的方式不太一樣,v3希望讓依賴扁平化。
假設(shè)我們有一個(gè)模塊A,A依賴B
創(chuàng)建一個(gè)項(xiàng)目依賴A
此時(shí)執(zhí)行npm install,npm將會(huì)同時(shí)安裝模塊A、B,并且扁平的放在項(xiàng)目的node_modules文件夾下
此時(shí)我們?cè)僖蕾囈粋€(gè)模塊C,C依賴B2.0
因?yàn)槲覀円呀?jīng)讓B1.0扁平化了,所以我們沒有辦法讓B2.0也扁平化,所以,這時(shí)候的B2.0使用和v2相同的處理方式。
此時(shí)的node_modules文件夾如下所示
假設(shè)我們有一個(gè)項(xiàng)目
A1.0
B1.0
C1.0依賴B2.0
添加依賴D依賴B2.0 ,此時(shí):
添加依賴D依賴B1.0,此時(shí)
升級(jí)依賴A2.0依賴B2.0,此時(shí)
升級(jí)依賴E2.0依賴B2.0,此時(shí)
執(zhí)行npm dedupe
查看node_modules文件夾:
項(xiàng)目github
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/88562.html
摘要:引用并執(zhí)行如果安裝出錯(cuò),比如寫錯(cuò)了包名,將會(huì)發(fā)生以下事情命令行報(bào)錯(cuò)使用可以自己新建一個(gè)文件編寫也可以直接使用來初始化一個(gè)該命令是一個(gè)交互式命令,可以根據(jù)提示輸入相應(yīng)信息生成相應(yīng)的,命令提示后面的中為提示內(nèi)容,可以選擇一路,然后再去修改。 0x001 概述 npm是一個(gè)包管理工具,本文章基本算是對(duì)官方文檔的解讀、翻譯和實(shí)操筆記,順便說明使用npm中的坑。 0x002 安裝Node.js ...
摘要:概述本篇文章承接上文,記錄的是如何發(fā)布自己的模塊編寫模塊新建項(xiàng)目并初始化編寫模塊代碼發(fā)布模塊測(cè)試模塊命名空間每個(gè)人都可以發(fā)布自己的包,難免會(huì)有包名相同的情況,如果想要使 0x001 概述 本篇文章承接上文,記錄的是如何發(fā)布自己的Node.js模塊 0x002 編寫模塊 新建項(xiàng)目并初始化 $ mkdir 0x005-publish-own-module $ cd 0x005-publis...
摘要:如何選擇就如果上面所有,需要打包進(jìn)生產(chǎn)環(huán)境就保存到,只是在開發(fā)或者打包的時(shí)候使用的就保存到即可。提示不能發(fā)布當(dāng)前版本解決方案不能發(fā)布已經(jīng)發(fā)布的版本,修改一下版本號(hào)就可以了想不到了,想到了再寫資源項(xiàng)目 0x001 概述 本篇文章承接上文,記錄的是一些使用過程中的疑惑 0x001 墻的原因使得包下載太慢 解決方案:使用淘寶cnpm,推薦使用cnpm,因?yàn)槿绻薷膎pm倉庫,將會(huì)導(dǎo)致無法發(fā)布...
摘要:概述本篇文章承接上文,記錄的的配置和命令的詳細(xì)說明。的配置說明項(xiàng)目名稱,的時(shí)候就是使用這個(gè)。案例說明版本號(hào),符合的版本規(guī)范的版本號(hào),默認(rèn)從開始。 0x000 概述 本篇文章承接上文,記錄的package.json的配置和npm命令的詳細(xì)說明。 0x001 package.json的配置 name: 說明:項(xiàng)目名稱,npm install的時(shí)候就是使用這個(gè)name。 案例:loda...
摘要:最近剛剛學(xué)習(xí)了一個(gè)的開發(fā)框架,最重要的是可以用開發(fā)傳送門以下是學(xué)習(xí)過程中的筆記上面時(shí)全局安裝完成后用檢查是否成功創(chuàng)建了一個(gè)名為的項(xiàng)目,然后進(jìn)入目錄,安裝依賴,啟動(dòng)項(xiàng)目,瀏覽器打開就可以看到頁面了。 最近剛剛學(xué)習(xí)了thinkjs--一個(gè)node的MVC開發(fā)框架,最重要的是可以用es6/es7開發(fā)【傳送門】 以下是學(xué)習(xí)過程中的筆記: npm install thinkjs@2 -g --v...
閱讀 1912·2021-08-19 11:12
閱讀 1485·2021-07-25 21:37
閱讀 1038·2019-08-30 14:07
閱讀 1336·2019-08-30 13:12
閱讀 717·2019-08-30 11:00
閱讀 3595·2019-08-29 16:28
閱讀 1057·2019-08-29 15:33
閱讀 3024·2019-08-26 13:40