5.2npm版本知识总结

1. npm 发布包的版本指定规则

使用 Npm 发布一个包的时候,往往要遵循 x.y.z 的规则,发布的第一个版本一般为 1.0.0。

z 补丁号。修改某个功能的 Bug 时,z 值 +1 变成 1.0.1;

y 小版本号。增加一个新功能,且不影响已有功能,y 值 +1 变成 1.1.0;

x 大版本号。引入新的变化,破坏向后兼容,x 值 +1 变成 2.0.0。

2. 关于向后兼容与向前兼容

向前兼容和向后兼容可以用下面这个例子方便理解。

向后兼容:Windows 10要能运行为Windows 3.1开发的程序;

破坏向后兼容:新版本的系统不能运行老版本系统上的程序,可以理解为整容的跟以前完全不一样了;

向前兼容:Windows 3.1要能运行为Windows 10开发的程序。

3. package.json 中包版本 ~ 与 ^ 说明

package.json 中会记录很多包的版本号,前面大多出现 ^ 和 ~ 符号,表示某个包的版本号取值范围,包的版本号在这个范围之内都是可以的。

"devDependencies": {

"axios": "^0.15.3",

"babel-eslint": "^6.1.2",

"babel-plugin-dva-hmr": "^0.3.2",

"babel-plugin-import": "^1.1.1",

"draftjs-to-html": "^0.7.0",

"eslint": "^3.17.1",

"eslint-config-airbnb": "^9.0.1",

"eslint-plugin-import": "^1.16.0",

"eslint-plugin-jsx-a11y": "^1.4.2",

"eslint-plugin-react": "^5.1.1",

"less-vars-to-js": "^1.1.2",

"path-to-regexp": "^1.7.0",

"rc-tween-one": "^1.0.0",

"redbox-react": "^1.2.10",

"roadhog": "0.6.0-beta.6"

},

假定某个包的版本是 1.4.0

~1.4.0

表示:>=1.4.0 && < 1.5.0

说明:小版本不变,补丁号可以取最大值。

^1.4.0

表示:>=1.4.0 && < 2.0.0

说明:大版本号不变,小版本号可以取最大值。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容