2019独角兽企业重金招聘Python工程师标准>>>

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

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

转载于:https://my.oschina.net/dkvirus/blog/1490420

Npm 包版本知识总结相关推荐

  1. npm(四):剖析npm包版本管理机制

    Nodejs成功离不开 npm 优秀的依赖管理系统.在介绍整个依赖系统之前,必须要了解 npm如何管理依赖包的版本,本章将介绍 npm包 的版本发布规范.如何管理各种依赖包的版本以及一些关于包版本的最 ...

  2. 微信支付v3版本npm包

    wechatpay-node-v3 # 微信支付v3 支持在ts和js中使用 欢迎大家加入一起完善这个api 前言 微信官方在2020-12-25正式开放了v3版本的接口,相比较旧版本v2有了不少改变 ...

  3. Node.js 官网入门教程(二) npm(安装、包版本、卸载、npx)、package.json(scripts、devDependencies)package-lock.json(语义版本规则符号

    Node.js 官网入门教程(二) npm(包管理.安装.包版本.卸载.npx).package.json(scripts.devDependencies).package-lock.json(语义版 ...

  4. Web前端培训知识分享:2种离线安装npm包的方法

    学习Web前端的朋友都知道JavaScript是前端绕不开的话题,也是学习的重难点.而npm是连接JavaScript的一扇大门,能解决NodeJS代码部署上的很多问题,很多人在学习时对于npm包怎么 ...

  5. Vue3学习笔记- NPM包管理工具

    导语   这篇分享是关于Vue3 系列的学习知识的整理的开始,能够对大家学习带来帮助.也是对自己能力的一种提升. 学习大纲 认识NPM 安装NPM 使用NPM NPM中级用法 了解package.js ...

  6. 规范升级 NPM 包

    规范升级 NPM 包 前言 在日常工作中,当组件跨项目使用时,我们往往会选择把组件抽成 npm 包.那么在 npm 开发以及发布的过程中有什么需要注意的事项吗?本文将从我自己的角度,来为大家介绍一下我 ...

  7. vue插件开发、文档书写、github发布、npm包发布一波流

    做vue开发,基本的操作会了之后是不是特想撸一撸vue的插件,让自己的代码可(骚)复(骚)用(的).别急,今天和你一起手摸手,哦呸,是手把手,一起撸一管,哦再呸,是封装一个基于vue的支付宝密码弹窗插 ...

  8. 微信小程序开发常用的npm包

    本篇主要介绍在微信小程序中使用 npm 包以及使用微信开发者工具开发微信小程序时最常用的 Vant Weapp 小程序 UI 组件库.miniprogram-api-promise 将 API Pro ...

  9. 微信小程序学习笔记(五) npm包+全局数据共享+分包

    文章目录 1. 使用npm包 1.1 小程序对 npm 的支持与限制 1.2 Vant Weapp 组件库 1.2.1 安装 Vant 组件库 1.2.2 使用 Vant 组件 1.2.3 定制全局主 ...

最新文章

  1. 关系数据库非关系数据库_如何与关系数据库最佳配合
  2. 下载apk文件之后变成zip的解决办法
  3. android电视打印信息解析,关于液晶电视打印信息
  4. HDOJ1874 ( 畅通工程续 ) 【单源最短路径】
  5. sqlserver2014内存数据库特性介绍
  6. 一文读懂-Impala
  7. zTree实现地市县三级级联报错(一)
  8. 联想l430主板图纸_L430开箱+拆机+换内存+换U+评测+拷机15小时,图多杀猫
  9. 大数据统计分析毕业设计_数据分析毕业设计 大数据可视化毕业设计
  10. spring 事务传播级别
  11. 星期一到星期日的英文_缩写_读音_巧记方法
  12. 微信小程序——根据当前定位查询附近商家
  13. 《让你受益一生的59个好习惯》感悟
  14. 宝付大叔的家书,满满的父爱
  15. Android之SQLite数据库及SQLiteStudio工具的使用
  16. caffe深度学习框架入门
  17. 【实训项目】教师工作量管理系统(完整程序)
  18. 谷歌浏览器下载完整版(非在线下载安装)
  19. XENAPP 7.6 和 XENDESKTOP 7.6 初体验之四 创建桌面计算机目录
  20. java8 list max_Java 在List 上使用.max()和.stream()

热门文章

  1. 整理一些sql server基础资料
  2. Mysql —— C语言链接mysql数据库,命令行形式(getopt()函数),用户、用户组增删改查(用户组表内有用户控制的策略字段)
  3. Centos 7 安装 Haproxy
  4. [HNOI2013]切糕
  5. Void void Void用在泛型
  6. java中,字符串和集合判断是否为空
  7. vue实现简单表格组件
  8. 发现个很有意思的angularjs +grunt 复习项目
  9. RequireJs入门(一)
  10. Myeclipse开发内存溢出问题