版本号
版本号(version number)是版本的标识号。每一个操作系统(或广义的讲,每一个软件)都有一个版本号。版本号能使用户了解所使用的操作系统是否为最新的版本以及它所提供的功能与设施。 每一个版本号可以分为主版本号与次版本号两部分。
是什么?
package.json是什么
在了解这个之前,我们必须先说到 node.js,在早期的前端领域中其实没有组件化,模块化这种概念,直到nodejs中引入了模块,它认为 一个模块就是一个库或者一个框架,比如文件处理模块fs(有兴趣的小伙伴可以自行查阅,nodejs相关的主要不在本章节中阐述);
当模块化出现之后,为了 管理这些模块,或者说 为了描述这个模块,package.json 应运而生,至于为什么它的格式是json,那是因为json格式 它在文本数据交换格式领域中有着绝对的统治地位,几乎所有的动态编程语言都支持json,或者说可以通过包来编译和解码json;
组成部分
软件版本号有四部分组成:
第一部分为主版本号,变化了表示有了一个不兼容上个版本的大更改。 第二部分为次版本号,变化了表示增加了新功能,并且可以向后兼容。 第三部分为修订版本号,变化了表示有bug修复,并且可以向后兼容。 第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有五种,分别为base、alpha、beta 、RC 、 release
总结
package.json文件中包含 版本,解析地址,依赖信息等等,因此当我们重新执行 npm install 的时候,node 从package.json中读取到了各个依赖包的名称,然后如果 存在package-lock.json文件,那么会 从package-lock.json文件中获取版本号,再进行下载或者更新;
package.json 是用来 进行包管理的,它里面记录着当前这个项目中各个依赖包或者说是插件的信息,并且这些依赖包都会有一个版本号,版本号上不同的位置数字代表不同的含义,分别是:主版本号.子版本号.修复版本号,另外针对版本号还有符号进行安装和更新的控制:
不加符号:安装指定版本;
波浪号~:不更新主版本号,子版本号,会更新修复版本,但是如果子版本号是0,则会更新;
插入符号^:不更新朱版本号,会更新子版本号和修复版本号;