[转]nodejs中package.json和package-lock.json文件的功能分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]nodejs中package.json和package-lock.json文件的功能分析相关的知识,希望对你有一定的参考价值。

本文转自:https://blog.csdn.net/u013992330/article/details/81110018

最新版nodejs中,多了一个package-lock.json文件,刚开始对这个文件很是疑惑,后来查了一番资料后,通过验证,终于确定了这两个文件的关系。

package.json与package-lock.json文件的作用
package.json文件记录你项目中所需要的所有模块。当你执行npm install的时候,node会先从package.json文件中读取所有dependencies信息,然后根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载,已有的检查更新(最新版本的nodejs不会更新,因为有package-lock.json文件,下面再说)。另外,package.json文件只记录你通过npm install方式安装的模块信息,而这些模块所依赖的其他子模块的信息不会记录。

package-lock.json文件锁定所有模块的版本号,包括主模块和所有依赖子模块。当你执行npm install的时候,node从package.json文件读取模块名称,从package-lock.json文件中获取版本号,然后进行下载或者更新。 

因此,正因为有了package-lock.json文件锁定版本号,所以当你执行npm install的时候,node不会自动更新package.json文件中的模块,必须用npm install packagename(自动更新小版本号)或者npm install [email protected](指定版本号)来进行安装才会更新,package-lock.json文件中的版本号也会随着更新。

附:当package.json与package-lock.json都不存在,执行"npm install"时,node会重新生成package-lock.json文件,然后把node_modules中的模块信息全部记入package-lock.json文件,但不会生成package.json文件,此时,你可以通过"npm init --yes"来生成package.json文件
---------------------
作者:password-u
来源:CSDN
原文:https://blog.csdn.net/u013992330/article/details/81110018
版权声明:本文为博主原创文章,转载请附上博文链接!

 

以上是关于[转]nodejs中package.json和package-lock.json文件的功能分析的主要内容,如果未能解决你的问题,请参考以下文章

[转]npm中package-lock.json的作用:npm install安装时使用

node.js教程 package.json文件生成教程

node怎么查看package.json文件

NodeJS中 package.json各属性分析

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

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