Skip to content

package-lock.json文件

自npm 5之后所有的依赖包都采用扁平化管理的方式

package-lock.json 的作用是锁定依赖安装结构,里面指定的都是确切的版本号,保证在任意机器上执行 npm install 都会得到完全相同的 node_modules 结果,因为package-lock.json存储所有安装的信息,例如:

json
"name": "my-pack",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@webassemblyjs/ast": { 
    "version": "1.8.5", // 当前依赖的版本
    "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz", // 从哪个渠道安装的
    "integrity": "sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k=", // 内容hash
    "dev": true,
    "requires": {
    "@webassemblyjs/helper-module-context": "1.8.5",
    "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
    "@webassemblyjs/wast-parser": "1.8.5"
    }
},
....

如果手动更新了package.json文件,执行安装命令会下载对应的新版本,并且会自动更新lock文件~