PACKAGE.JSON
參考連結:blog.csdn.net/u011240877/…
1. package.json
npm在package.json檔案中管理專案的依賴項以及專案的後設資料。 node執行js中require(es6 import)的時候,也會根據package.json中的依賴項查詢。
2. package.json 檔案解析
2.1 作用
- 描述了你的專案依賴哪些包,並指明依賴包的版本
- 更好地與開發者分享,便於重複使用
2.2 欄位說明
2.2.1 文件連結 package.json
2.2.2 必選欄位
- name 全部小寫,不支援空格
- version 版本號
2.2.3 可選欄位
- description 描述資訊,有助於npm search
- keywords 關鍵字,有助於npm search
- main 入口檔案
- homepage 帶協議字首的URL,例如 www.xxx.com
- bugs 提供郵箱或url連結追蹤專案的問題資訊,例如
{
"url":"http://github.com/issues,
"email" :"xxx@gmail.com"
}
複製程式碼
- repository 當前的專案遠端倉庫,便於使用者進行貢獻,例如
"repository" :
{
"type" : "git",
"url" : "http://github.com/npm/npm.git"
}
複製程式碼
- author 使用者,一個人,例如
{
"name" : "Barney Rubble,
"email" : "b@rubble.com",
"url" : "http://barnyrubble.tumblr.com/"
}
複製程式碼
簡寫為
"Barney Rubble <b@rubble.com>(http://barnyrubble.tumblr.com/)"
複製程式碼
- contributors 使用者群組
- dependencies 專案的依賴安裝包,指定版本,也可以是一個git url
- devDependencies 基本同於dependencies,但是如果只需要下載使用某些模組,而不下載這些模組的測試和文件框架,放在這個下面比較不錯
3. 依賴包的版本號
3.1 基本的匹配模式
- version 完全匹配
- >version 大於這個版本
- >=version 大於或等於這個版本
- <version 小於這個版本
- <=version 小於等於這個版本
- version1 - version2,等價於 >=version1 && <=version2.
- range1 || range2 滿足任意一個即可
- http://... Unix系統下使用的tarball的URL。
- git... Git地址
- latest 保持最新版本
上述列舉條目與下面例子一一對應
{
"dependencies" :
{
"boo" : "2.0.1",
"bar" : ">1.0.2",
"bar2" : ">=1.0.2",
"baz" : "<2.3.4",
"baz2" : "<=2.3.4",
"foo" : "1.0.0 - 2.9999.9999",
"qux" : "<1.0.0 || >=2.3.1 <2.4.5“,
"asd" : "http://asdf.com/asdf.tar.gz",
'git-smt': "git address",
"lat" : "latest",
}
}
複製程式碼
3.2 版本號
3.2.1 規範
- 補丁版本:解決了 bug 或者一些較小的更改,增加最後一位數字,比如 1.0.1 --> 1.0.2
- 小版本:增加了新特性,同時不會影響之前的版本,增加中間一位數字,比如 1.0.2 --> 1.1.2
- 大版本:大改版,無法相容之前的,增加第一位數字,比如 1.1.2 --> 2.1.2
3.2.2 更新程度
- 如果只接受補丁版本的更新(也就是最後一位的改變),就可以這麼寫:
- 1.0
- 1.0.x
- ~1.0.4
- 如果接受小版本的更新(第二位的改變,接受補丁版本的改變),就可以這麼寫:
- 1
- 1.x
- ^1.0.4
- 如果可以接受大版本的更新(自然接受小版本和補丁版本的改變),就可以這麼寫:
- *
- x
- ""