package.json 和 package-lock.json 的关系

先安装一个测试包

  1. 初始化执行 npm init 会出现 package.json 的一个文件。
    package.json 和 package-lock.json 的关系_第1张图片
  2. 此处示例安装 express 包
    (npm 5 以后的版本会默认加 --save,所以此处可以不加)
    npm install --save express
    
  3. 安装完后会发现多了一个 package-lock.json 的一个文件,且 package.json 文件里描述了 express 的版本信息
    package.json 和 package-lock.json 的关系_第2张图片
    3.1 此时 package-lock.json 文件里是这样的内容
    package.json 和 package-lock.json 的关系_第3张图片

详解:我们在安装一个包时,如 express, 但是 express 本身也会有依赖项(依赖包),所以在下载的同时会分析 express 的依赖项。但依赖项也会有依赖项,那么这些依赖项会在 package-lock.json 里存在,也就是说 package-lock.json 里保存了 node_modules 整个包依赖数。
(当前安装的 express 包,以及express 的依赖包,以及 express 的依赖包的依赖包都会存在 package-lock.json里,因为这个文件就是用来存所有的包信息,而 package.json 只会存你输入命令安装的包的信息)。
package.json 和 package-lock.json 的关系_第4张图片
绝对原创转载请注明!!!

你可能感兴趣的:(node.js)