前言

现在前端越来越流行模块化开发,安装使用 node 和 npm 可以方便下载管理各个依赖模块。而描述模块信息的文件就是 package.json ,那么 package-lock.json 又是什么,跟 package.json 有什么关系?本文将对该问题进行探索。

一、package.json 

{
  "name": "webpack-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack-cli": "^3.3.2"
  },
  "dependencies": {
    "webpack": "^2.0.0"
  }
}

生成方式:执行 npm init 命令。

主要作用:描述项目及项目所依赖的模块信息。

二、package-lock.json 

生成方式:从 npm 5 版本之后只要使用 npm install 命令下载,就会自动生成 package-lock.json 文件。

主要作用:

1)描述 node_modules 文件中所有模块的版本信息,模块来源及依赖的小版本信息。

2)当版本升级,使用 npm install 命令时,会安装 package.json 中指定的大版本的最新版本。如 package.json 中指定版本"dependencies": { "webpack": "^2.0.0" },则 package-lock.json 会按照 {"webpack": "2.7.0"} 版本升级。在保证大版本号前提下的最新版本。webpack "2.7.0" 是 "2.x.x" 的最高版本。

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐