在角度应用程序中需要package.json和package-lock.json这两个文件

时间:2019-02-25 10:09:11

标签: node.js angular angular-cli package.json

我是新手。当我使用angular-cli安装了示例angular应用程序时,我看到定义了package.json和package-lock.json文件。在这些文件中,package-lock.json文件定义了确切的依赖关系,而package.json具有其他主要事实,例如作者,描述,关键字等。我发现与此相关的link很有用。

我的疑问是,为什么package-lock.json中详述的数据也包含在package.json文件中,以便不需要两个单独的package json文件。尤其是对于初学者来说,两个具有相似数据扩展名的文件可能会造成混淆,对吧?

2 个答案:

答案 0 :(得分:1)

其他阅读内容:

Everything You Wanted To Know About package-lock.json But Were Too Afraid To Ask

https://github.com/npm/npm/pull/17508

  

Package-lock是package.json中列出的每个依赖项的大列表,应安装的特定版本,模块(URI)的位置,验证模块完整性的哈希,所需的软件包以及相关性列表。

     

因为包锁为每个模块及其每个依赖项指定了版本,位置和完整性哈希,所以每次创建的安装都相同。不管您使用什么设备,或者以后安装什么设备,它每次都会为您提供相同的结果,这非常有用。

答案 1 :(得分:0)

Package-lock.json是自动生成的,适用于npm修改node_modules树或package.json的任何操作。它描述了生成的确切树,因此无论中间依赖项更新如何,后续安装都可以生成相同的树。

有关更多信息,请参见下面的链接。

"package-lock.json" role