当前位置: 首页 > 后端技术 > Node.js

npm5.0新的package-lock.json文件挖坑

时间:2023-04-03 15:20:31 Node.js

1.package.json中的package.json是什么简单的说:就是管理npm包的文件,包括项目依赖的npm包,项目的配置信息。创建方法:npminit根据系统提示填写相关信息(回车设置为空)。具体配置说明见package.json字段。2.npm5.0的变化升级Node.jsv8.0后,内置的npm也升级到了5.0,那么npm5有什么变化呢?使用npminstallxxx命令安装使用模块时,不再需要-save选项,模块依赖信息会自动保存到package.json文件中;安装模块的操作(更改node_modules文件夹的内容)会生成或更新package-lock.json文件,发布的模块不会包含package-lock.json文件如果手动修改已有的版本package.json文件中的module,直接执行npminstall不会安装新指定的版本,只能通过npminstallname@version更新3.package-lock.json&npm5坑的含义先看一个官方说明package-lock.json是为npm修改node_modules树或package.json的任何操作自动生成的。它描述了生成的确切树,以便后续安装能够生成相同的树,而不管中间依赖项更新如何。大致意思:package-lock.json是node_modules或package.json变化时自动生成的文件。它记录了整个node_modules文件夹的树状结构,甚至是模块的下载地址,所以只需要在重装时下载该文件即可。所以重新安装模块非常快。不过npm5.0在提升速度的同时也挖了个大坑:以后修改package.json文件中对应模块的版本号,再执行npminstall,就不会更新了。只能通过npminstallname@version手动指定版本号进行安装。然后它会自动更新package-lock.json文件。直接执行npminstall时,如果package-lock.json文件不存在,会在安装模块后根据node_modules目录结构创建;如果package-lock.json文件已经存在,则只会根据package-lock.json文件指定的结构来创建模块下载,忽略package.json文件。目前GitHub上有相关问题:https://github.com/npm/npm/is...[参考文档]https://docs.npmjs.com/files/...http://blog。csdn.net/zmrdlb/a...http://blog.csdn.net/aaa333qw...https://docs.npmjs.com/files/...