答案 0 :(得分:0)
所以直截了当我希望你知道package.JSON文件的作用以及它的用途。
简短的package.JSON文件为您提供从项目的名称到npm依赖项开始的项目信息。该文件用于向npm提供信息,使其能够识别项目以及处理项目的依赖项。
来到package.json-lock文件
自动生成package-lock.json,用于将任何节点模块包安装到项目中的任何操作,或者npm修改node_modules文件夹,或者更改package.json文件中的内容。
所以例如你使用npm install安装一个第三方模块。 并在package.json文件中添加了模块版本。同样也将在package-lock.json中生成。
package-lock.json的文件结构通常与package.json文件相同 在依赖项中有更多信息的地方
所以依赖是包名到依赖对象的映射。依赖项对象具有以下属性,具有外观here
提出问题
1)有人能解释一下为什么我们的项目中使用了这个package.json-lock文件?
ans)它在结构树中存储精确的版本化依赖项信息,而不是像使用package.json本身(例如1.0。*)那样使用星号版本控制。这意味着您可以保证其他开发人员或prod版本等的依赖关系。它还有一种锁定树的机制,但如果package.json发生更改或者您安装了任何新模块,通常会重新生成。
2)如何使用?
ans)它锁定完整依赖关系树的版本。这允许您为其他开发人员或版本保证您的依赖关系树,同时仍然允许使用您的标准package.json测试新的依赖版本(直接或间接)。
3)如果在npm安装后我的项目中安装了任何第三方组件,它是否会影响该文件?
ans)自NPM 5.1起,每次调用npm install时都会更新package-lock.json文件。 (更改为github.com/npm/npm/issues/16866,例如github.com/npm/npm/issues/17979)因此,除非您指定确切的版本,否则它不能再用于为所有开发人员设置相同的版本比如你的package.json文件中的1.2.3而不是1.2。*。