NodeJs版本号语义记录

仔细看前端项目的package.json中的若干代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
"name": "catbook-react",
"version": "1.0.0",
"description": "",
"main": "server/server.js",
"scripts": {
"hotloader": "webpack serve --config ./webpack.config.js --mode development --port 5000",
"start": "nodemon"
},
"repository": {
"type": "git",
"url": "git+https://github.com/mit6148-workshops/catbook-react.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/mit6148-workshops/catbook-react/issues"
},
"homepage": "https://github.com/mit6148-workshops/catbook-react#readme",
"engines": {
"node": ">=12.0.0"
},
"dependencies": {
"@reach/router": "^1.3.4",
"connect-ensure-login": "^0.1.1",
"core-js": "^3.8.1",
"express": "^4.17.1",
"express-session": "^1.17.1",
"google-auth-library": "^6.1.3",
"mongoose": "^5.11.9",
"nodemon": "^2.0.6",
"react": "^16.14.0",
"react-dom": "^16.14.0",
"react-google-login": "^5.2.1",
"react-router-dom": "^5.2.0",
"socket.io": "^2.3.0",
"socket.io-client": "^2.3.1",
"url-loader": "^4.1.1"
},
"devDependencies": {
"@babel/cli": "^7.12.10",
"@babel/core": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/polyfill": "^7.4.4",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-stage-0": "^7.8.3",
"babel-loader": "^8.2.2",
"css-loader": "^5.0.1",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^4.5.0",
"react-hot-loader": "^4.13.0",
"style-loader": "^2.0.0",
"webpack": "^5.11.1",
"webpack-cli": "^4.3.0",
"webpack-dev-server": "^3.11.1"
}
}

它对依赖的名称、版本等做了详细的列举。npm install的时候也是根据此文件进行依赖添加。

先来看看版本号,一般都是三位数字,例如6.2.0。一般规约如下:

  • 主版本号,major:新的架构调整,不兼容老版本
  • 次版本号,minor:新增功能,兼容老版本
  • 修补版本号,patch:修复bug,兼容老版本

例如vuex升级到4版本就仅支持vue3了,这就是架构上的调整,不再兼容老版本。

再来看一些符号:

  • ~,大约匹配。~1.15.2 := >=1.15.2 <1.16.0
  • ^,兼容某个版本。^3.3.4 := >=3.3.4 <4.0.0
  • <>>=,顾名思义,必须小于或大于或大于等于某个版本
  • x,表示任意版本

NodeJs版本号语义记录
http://baokker.github.io/2022/09/10/NodeJs版本号语义记录/
作者
Baokker
发布于
2022年9月10日
更新于
2022年9月10日
许可协议