package, 在Node中是“包”的意思,CommonJS的規範中,包是由“包結構”和“包描述文件”兩部分組成的。
包結構: 用於組織包中的各種文件 ;
包描述文件: 描述包的相關信息,以供外部讀取分析 (package.json);
如圖,這就是一個簡單的包了;
說幾個較爲常用的 :
dependencies : 依賴, 當前package.json所在的包內 需要的依賴包都寫在這裏,
還有個devDependencies , 比上面那個多個dev, 這裏是開發環境的意思,就是在開發環境下的依賴模塊;
寫在這個裏面的信息,都是一些模塊的版本號及名稱,比如:
通過使用 npm i ( npm install 的簡寫) 可一次性下載這裏寫好的全部模塊
//項目運行時所依賴的模塊
"dependencies": {
"@riophae/vue-treeselect": "0.4.0",
"axios": "0.18.1",
"vuex": "3.1.0",
"xlsx": "0.14.1"
},
//項目開發時所依賴的模塊
"devDependencies": {
"autoprefixer": "^9.5.1",
"vue2-ace-editor": "0.0.15"
},
name:當前這個“包”的名稱,後面跟的就是一個模塊標識,需要用到這個包的時候:
require("xxx");
engines:運行引擎,指明node運行所需要的版本,比如:
{
"node": ">=8.9",
"npm": ">= 3.0.0"
}
deecription:包的描述
homepage : 主頁
main:主文件
maintainers:作者
repository:倉庫
script:腳本
//每次打開項目的時候 都會寫一句: npm run dev , 這個就是執行了script 中的設置:
keywords:關鍵字 licenses:授權方式 version 版本號 config:應用的配置項;
版本號表達式:
表達式 | 版本範圍 |
>=1.2.7 | 大於等於1.2.7 |
>=1.2.7 <1.3.0 | 1.2.7,1.2.8,1.2.9 |
1.2.3-2.3.4 | >=1.2.3 <=2.3.4 |
1.2-2.3.4 | >=1.2.0 <=2.3.4 |
1.2.3-2.3 | >=1.2.3 <2.4.0 |
1.2.3-2 | >=1.2.3 <3.0.0 |
* | >=0.0.0 |
1.x(等價於1.X) | >=1.0.0 <2.0.0 |
1.2.x | >=1.2.0 <3.0.0 |
""(等價於*) | >=0.0.0 |
1(等價於1.x.x) | >=1.0.0.0 <2.0.0 |
1.2(等價於1.2.x) | >=1.2.0 <1.3.0 |
~1.2.3(>=1.2.3 <1.(2+1).0) | >=1.2.3 <1.3.0 |
~1.2(>=1.2.0 <1.(2+1).0) | >=1.2.0 <1.3.0 |
~1(>=1.0.0 <(1+1).0.0) | >=1.0.0 <2.0.0 |
~0.2.3(>=0.2.3 <0.(2+1).0) | >=0.2.3 <0.3.0 |
~0.2(>=0.2.0 <0.(2+1).0) | >=0.2.0 <0.3.0 |
~9(>=0.0.0 <(0+1).0.0) | >=0.0.0 <1.0.0 |
~1.2.3-beta.2 | >=1.2.3-beta.2 <1.3.0 |
^1.2.3 | >=1.2.3 <2.0.0 |
^0.2.3 | >=0.2.3 <0.3.3 |
^0.0.3 | >=0.0.3 <0.0.4 |
^1.2.3-beta.2 | >=1.2.3-beta.2 <2.0.0 |
^0.0.3-beta | >=0.0.3 <0.0.4 |
^1.2.x | >=1.2.0 <2.0.0 |
^0.0.x | >=0.0.0 <0.1.0 |
^0.0 | >=0.0.0 <0.1.0 |
^1.x | >=1.0.0 <2.0.0 |
^0.x | >=0.0.0 <1.0.0 |