真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使用package.json對依賴包進行版本管理

這篇文章主要介紹“怎么使用package.json對依賴包進行版本管理”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么使用package.json對依賴包進行版本管理”文章能幫助大家解決問題。

在西湖等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站建設、網(wǎng)站設計 網(wǎng)站設計制作定制網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,成都全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設,西湖網(wǎng)站建設費用合理。

怎么使用package.json對依賴包進行版本管理

npm版本號定義

版本格式:X.Y.Z[-string]
其含義為:

  • X:主版本號

  • Y:次版本號

  • Z:修正版本號

  • string: 先行版本號或版本編譯信息

舉個例子:

6.3.2-alpha的含義為:

  • 主版本號6,有6次不可向下兼容的更新迭代。

  • 次版本號3,有3次小的功能迭代。6.*.* <=6.3.2的依賴聲明,都可以安裝此新包。

  • 修正版本號2,有2次bug修改或其他非重大功能的修改。6.*.* <=6.3.2的依賴聲明,都可以安裝此新包。

  • 先行版本號alpha,表示處理試驗階段。

擴展閱讀:語義化版本 2.0.0

package.json怎么識別依賴版本

將按下述代碼進行闡釋:

"vue": "~2.5.22",
"vue-class-component": "^6.0.0",
"vue-router": "3.0.1",
"express": "latest",
"mongoose": "*",
  • 符號^:鎖定主版本,可更新次版本號、修正版本號和先行版本號

    例如"vue-class-component": "^6.0.0",安裝依賴時,可以安裝符合6.*.* 的任意版本,只要主版本號是6即可。

  • 符號~:鎖定主版本號和次版本號,可更新修正版本號和先行版本號

    例如"vue": "~2.5.22",安裝依賴時,可以安裝符合2.5.*的任意版本。

  • 空符號:鎖定所有版本號

    例如"vue-router": "3.0.1",只能安裝版本為3.0.1的依賴包。

  • 符號*:定義某個版本號范圍

    例如vue-router": "3.0.*",可以安裝3.0固定的任意版本,比如3.0.1、3.0.2

  • latest:安裝最新的穩(wěn)定版本

怎么使用package.json對依賴包進行版本管理

  • 例如"express": "latest",可以安裝4.18.1  (2022.06.13最新版本)。

  • *:安裝最新發(fā)布的版本,不一定是穩(wěn)定版本

怎么使用package.json對依賴包進行版本管理

  • 例如"mongoose": "*",可以安裝6.0.0-rc23.9.7等。

  • Git URL:使用Git上發(fā)布的包

    引用格式: ://[[:]@][:][:][/][# | #semver:]

"test": "git+ssh://git@github.com:npm/cli.git#v1.0.27"

擴展閱讀:npm docs - dependencies

不要太相信npm包的版本號!

如題,這個是血的教訓換來的經(jīng)驗。

筆者在使用system.js時,使用的版本限制是:system.js: "^6.3.2"

在安裝依賴的時候,意外安裝了> 6.3.2的版本,導致項目運行出錯。

原因就是system.js作者,沒有按照semver規(guī)范,進行版本號命名,導致筆者的項目,引入了不可向下兼容的更新,進而使項目運行出錯。

dependencies、devDependencies與peerDependencies

dependencies

生產(chǎn)環(huán)境中使用到的依賴,統(tǒng)一安裝在dependencies下。

舉個例子:

"dependencies": {
	"chalk": "^2.4.2",
	"commander": "^3.0.0",
	"fs-extra": "^8.1.0",
	"inquirer": "^6.5.0",
	"mem-fs": "^1.1.3",
	"mem-fs-editor": "^6.0.0",
	"shelljs": "^0.8.3"
}

上述代碼,是筆者做的cli工具包的package.json中的片段。
shelljs用于操作文件,如果改在devDependencies聲明,則用戶安裝當前工具包后,運行會報錯。
因為devDependencies字段聲明的依賴,在npm install 工具包時,是不會安裝的。必須在dependencies字段中聲明,才會被安裝。

devDependencies

生產(chǎn)環(huán)境不需要使用的依賴,都需要安裝在devDependencies下。
因為生產(chǎn)環(huán)境下,是不會安裝devDependencies字段下的依賴的。

舉個例子:

"devDependencies": {
	"@commitlint/cli": "^8.1.0",
	"@commitlint/config-conventional": "^8.1.0",
	"commitizen": "^4.0.3",
	"commitlint-config-cz": "^0.12.1",
	"cz-customizable": "^6.2.0",
	"standard-version": "^7.0.0"
}

上述代碼,是筆者做的cli工具包的package.json中的片段。
commitizen是筆者用于規(guī)范Git提交規(guī)范的依賴包,只在開發(fā)環(huán)境中使用,所以在devDependencies中聲明。

peerDependencies

當開發(fā)一些插件和工具包時,對使用方的運行環(huán)境的依賴包版本有要求,可以使用peerDependencies字段進行聲明。

舉個例子:

{
  "name": "tea-latte",
  "version": "1.3.5",
  "peerDependencies": {
    "tea": "2.x"
  }
}

當前工具tea-latte,依賴tea包。而且,要求tea包是主版本2。

當不滿足要求時,控制臺會進行報錯處理。

注意
npm v7版本, peerDependencies會默認安裝。
npm  v3 到 npm v6版本, peerDependencies不會自動安裝。

關(guān)于“怎么使用package.json對依賴包進行版本管理”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。


名稱欄目:怎么使用package.json對依賴包進行版本管理
路徑分享:http://weahome.cn/article/jpiipj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部