儲存庫
文件
什麼是單一儲存庫?

什麼是單一儲存庫?

單一儲存庫是將許多不同的應用程式和套件收集到單一程式碼庫中。

另一種設定稱為多重儲存庫 - 多個程式碼庫會分別發布和版本化。

共用程式碼

在多重儲存庫中

在多重儲存庫設定中,在應用程式之間共用程式碼的程序相對冗長。

想像一下您有三個獨立的儲存庫 - appdocsshared-utilsappdocs 都仰賴 shared-utils,而後者在 npm 上發布為套件。

假設 shared-utils 中的錯誤導致 appdocs 發生重大問題。您需要

  1. shared-utils 中提交修正錯誤的程式碼
  2. shared-utils 中執行 publish 任務,將其發布到 npm
  3. app 中提交,提升 shared-utils 相依套件的版本
  4. docs 中提交,提升 shared-utils 相依套件的版本
  5. appdocs 現在已準備好部署。

依賴 shared-utils 的應用程式越多,此程序花費的時間就越長。這可能會非常繁瑣。

在單一儲存庫中

在單一儲存庫設定中,shared-utils 會與 appdocs 位於同一個程式碼庫 中。這使得此程序非常簡單

  1. shared-utils 中提交修正錯誤的程式碼
  2. appdocs 現在已準備好部署。

不需要版本控制,因為 appdocs 並不依賴 npm 中 shared-utils 的版本 - 它們依賴 程式碼庫中的版本

這使得可以建立單一提交,同時修正多個應用程式和套件中的錯誤。這對於團隊來說可以大幅提升速度。

單一儲存庫如何運作?

單一儲存庫的主要建構區塊是 工作區。您建立的每個應用程式和套件都會在自己的工作區中,並有自己的 package.json。正如您從我們的指南中所學到的,工作區可以互相依賴,這表示您的 文件 工作區可以依賴 shared-utils

{
  "dependencies": {
    "shared-utils": "*"
  }
}

工作區由與 安裝您的相依性 相同的 CLI 管理。

根工作區

您還會有根工作區 - 程式碼庫根資料夾中的 package.json。這是以下項目的有用位置

  1. 指定出現在整個單一儲存庫中的相依性
  2. 加入對整個單一儲存庫運作的任務,而不仅仅是個別工作區
  3. 加入有關如何使用單一儲存庫的文件