NodeJs开发之三: package.json和Package_lock.json

Posted Montai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJs开发之三: package.json和Package_lock.json相关的知识,希望对你有一定的参考价值。

1. 查询npm版本

C:Program Files odejsMyBook>npm -version
6.14.5

2. 使用npm5之前的版本,是不会生成package-lock.json这个文件的。npm5以后,包括npm5这个版本,才会生成package-lock.json文件, 当使用npm安装包的时候,npm都会生成或者更新package-lock.json文件

3.  npm5以后的版本,在安装包的时候,不需要加 --save(-s) 参数,也会自动在package.json中保存依赖项 , 当安装包的时候,会自动创建或者更新package-lock.json文件,  

4. package-lock.json文件内保存了 node_modules中所有包的信息,包含这些包的名称、版本号、下载地址。带来好处是,如果重新 npm install 的时候,就无需逐个分析包的依赖项,因此会大大加快安装速度。

5. 从 package-lock.json 文件名来看,lock代表的是“锁定”的意思。它用来锁定当前开发使用的版本号,防止npm install的时候自动更新到了更新版本。因为新版本有可能会更新老的api,导致之前的代码出错。原来的 package.json 文件只能锁定大版本,也就是版本号的第一位,并不能锁定后面的小版本,你每次npm install都是拉取的该大版本下的最新的版本,为了稳定性考虑我们几乎是不敢随意升级依赖包的,这将导致多出来很多工作量,测试/适配等,所以package-lock.json文件出来了,当你每次安装一个依赖的时候就锁定在你安装的这个版本。

以上是关于NodeJs开发之三: package.json和Package_lock.json的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS中 package.json各属性分析

nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别

nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别

nodejs的package.json

如何在 NodeJs 中更改 package.json 中的主文件

nodejs package.json详细解读