vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue package-lock.json的作用

Vue package-lock.json的作用及说明

作者:三横兰

这篇文章主要介绍了Vue package-lock.json的作用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue package-lock.json的作用

package-lock.json有什么作用呢?

简单理解就是锁定dependencies的版本号。

一般来说前端的项目都有一个package.json文件管理依赖的版本号,在package.json文件里我们可以看到依赖的版本号前面一半有^和~这些符号。

不同的下载时间、npm下载源不一样或者不同机器,下载得到的nodejs依赖包有可能不一样。

所以这时候package-lock.json的作用就出来了。

它就是固定当前的版本,确保你安装的包不会因为在新的机器上或者新的

下载源下载依赖包时不一致,这在开发、部署或者多人协作时会减少很多不必要的麻烦。

我们举个例子

当前测试的project的依赖如下

  "devDependencies": {
    "dayjs": "~1.9.4",
    "file-saver": "^1.2.0",
    "lodash": "*"
  },

一般来说新建的项目是没有package-lock.json这个文件,执行npm install时候它会自动生成。

执行npm install后,我们去node-modules目录看下这三个包的版本号。

    "dayjs": "1.9.8",
    "file-saver": "1.3.8",
    "lodash": "4.17.21"

再看下生成的package-lock.json文件

 "dependencies": {
    "dayjs": {
      "version": "1.9.8",
     "dev": true
    },
    "file-saver": {
      "version": "1.3.8",
      "dev": true
    },
    "lodash": {
      "version": "4.17.21",
      "dev": true
    }
  }

node_module依赖包的版本和package-lock.json的版本号是一样的。

dayjs匹配到了1.9.x的最新版本,file-saver匹配到了1.x.x的最新版本,lodash匹配到了最新的版本。

当我们需要去更新依赖包的版本时,可以通过执行npm install xxx@x.x.x实现,package-lock.json也会随之更新。

我本地的npm版本是6.10.2,在package.json中直接修改版本号,然后npm install,也可以实现依赖包的版本和package-lock.json更新。

网上有说法是5版本后不支持这种改法了。

如果下载依赖用的是yarn install,那用的就是yarn.lock文件。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文