簡體   English   中英

角度應用程序中需要 package.json 和 package-lock.json 文件

[英]Need for both package.json, package-lock.json files in an angular application

我是新的角度。 當我使用 angular-cli 安裝示例 angular 應用程序時,我看到定義了 package.json 和 package-lock.json 文件。 在這些文件中,package-lock.json 文件定義了精確的依賴關系,package.json 有其他主要事實,如作者、描述、關鍵字等。我發現這個相關鏈接很有用。

我的疑問是為什么 package-lock.json 中詳述的數據也包含在 package.json 文件中,這樣就不需要兩個單獨的包 json 文件了。 兩個具有相似數據擴展的文件可能會令人困惑,尤其是對於初學者來說,對吧?

其他閱讀:

您想知道的關於package-lock.json的所有信息,但都不敢問

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

Package-lock是package.json中列出的每個依賴項的大列表,應安裝的特定版本,模塊(URI)的位置,驗證模塊完整性的哈希,所需的軟件包列表,以及依賴項列表。

因為軟件包鎖為每個模塊及其每個依賴項指定了版本,位置和完整性哈希,所以每次創建的安裝都相同。 無論您使用什么設備,或將來安裝什么設備,都應該每次都能獲得相同的結果,這非常有用。

對於npm修改node_modules樹或package.json的任何操作,將自動生成 package-lock.json。 它描述了生成的確切樹,因此無論中間依賴項更新如何,后續安裝都可以生成相同的樹。

有關更多信息,請參見下面的鏈接。

“ package-lock.json”角色

https://docs.npmjs.com/cli/v7/configuring-npm/package-json

package.json是一個位於項目根目錄中的 JSON 文件。 您的 package.json 包含有關項目的重要信息。 它包含有關項目的人類可讀元數據(如項目名稱和描述)以及功能元數據,如包版本號和應用程序所需的依賴項列表。

https://docs.npmjs.com/cli/v7/configuring-npm/package-lock-json

package-lock.json會為任何 npm 修改 node_modules 樹或 package.json 的操作自動生成。 它描述了生成的確切樹,以便后續安裝能夠生成相同的樹,而不管中間依賴項更新如何。

此文件旨在提交到源存儲庫中,並用於多種目的:

  • 描述依賴樹的單一表示,以便保證團隊成員、部署和持續集成
  • 安裝完全相同的依賴項。 為用戶提供一種“時間旅行”到 node_modules 以前狀態的工具,而無需提交目錄本身。
  • 通過可讀的源代碼控制差異提高樹更改的可見性。
  • 通過允許 npm 跳過先前安裝的包的重復元數據解析來優化安裝過程。

從 npm v7 開始,鎖文件包含足夠的信息來獲得包樹的完整圖片,減少讀取 package.json 文件的需要,並允許顯着的性能改進。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM