webpack 项目中的package-lock.json的作用?

2018, Nov 25    

webpack 项目中的package.lock.json文件有什么作用?

package.json文件只能锁定大版本,也就是版本号的第一位,并不能锁定后面的小版本,你每次npm install都是拉取的该大版本下的最新的版本,为了稳定性考虑我们几乎是不敢随意升级依赖包的,这将导致多出来很多工作量,测试适配等。 所以package-lock.json文件出来了,当你每次安装一个依赖的时候就锁定在你安装的这个版本。

那如果我们安装时的包有bug,后面需要更新怎么办? 像本次在项目开发中无配置问题 提示webpack-dev-server is not command 而我们npm install –save-dev webpack-dev-server 下载npm包失败 原因定位了很久

原因在于package-lock.json文件中使用的版本依赖发生问题、而webpack默认会优先执行package-lock.json文件 来解析相关依赖 所以我的做法是将该文件置空 重新运行命令 webpack会执行package.json文件 同时将package-lock.json文件进行新的依赖覆盖