package-lock.json文件中requires与dependencies区别与作用

2,966 阅读1分钟

package-lock.json文件:

package-lock.json

如上图所示,body-parserrequiresdependencies字段中都记录了依赖,他们有什么不同呢?为什么有些依赖仅在requires里,而有些既在requires又在dependencies里呢?

有两个依赖包ABA依赖于C@1.0B依赖于C@2.0,这时NPM就会安装两个不同版本的C,其中一个会被安装在根目录的node_module中,另外一个则安装在当前依赖包的node_module中:

package.json
node_modules
  /A
  /B
    /node_modules
      /C@2.0
  /C@1.0

package-lock.json里的requiresdependencies,就是这种行为的数据化。requires表示所有需要安装的依赖,而dependencies则是把其中需要安装在当前目录node_modules里的依赖包摘出来。

参考:stackoverflow.com/questions/5…