Turborepo

簡介

歡迎來到 Turborepo 文件!


什麼是 Turborepo?

Turborepo 是一個適用於 JavaScript 和 TypeScript 程式碼庫的高效能建置系統。它專為擴展單體儲存庫而設計,同時也能加快單一包裝工作區中的工作流程。

從個人開發者到世界上最大的企業工程組織,Turborepo 通過輕量級的方法來優化儲存庫中需要運行的任務,從而節省了數年工程時間和數百萬美元的計算成本。

單體儲存庫的問題

單體儲存庫有很多優點,但它們難以擴展。每個工作區都有自己的測試套件、自己的程式碼檢查和自己的建置過程。一個單一的單體儲存庫可能會有數千個任務要執行

A representation of a typical monorepo. The first application took 110 seconds to complete its tasks. The second application took 140 seconds to complete its tasks. The shared package between them took 90 seconds to complete its tasks.

這些延遲會顯著影響您的團隊建構軟體的方式,尤其是在大規模的情況下。回饋迴路需要快速,以便開發人員能夠快速交付高品質的程式碼。

單體儲存庫的解決方案

The monorepo from before using Turborepo, showing how it can hit cache to complete tasks for all three packages in 80 milliseconds.

Turborepo 解決了單體儲存庫的擴展問題遠端快取會儲存您所有任務的結果,這意味著您的 CI 永遠不需要重複執行相同的工作

此外,在單體儲存庫中排定任務可能會很困難。您可能需要先建置,然後測試,然後程式碼檢查...

Turborepo 會排定您的任務以達到最快速度,在所有可用的核心上平行處理工作。

Turborepo 可以逐步採用,您可以在幾分鐘內將其新增到任何儲存庫。它使用您已經編寫的 package.json 指令碼、您已經宣告的依賴項和單一的 turbo.json 檔案。您可以將其與任何套件管理器(如 npmyarnpnpm)一起使用,因為 Turborepo 依賴 npm 生態系的慣例。

如何使用這些文件

我們會盡力將術語降至最低,但有些必知的詞彙在您閱讀文件時將很重要。我們建立了一個詞彙表頁面,以防您正在學習這些術語時提供協助。

加入社群

如果您對任何與 Turborepo 相關的問題,隨時歡迎在 GitHub DiscussionsVercel CommunityTwitter 上詢問社群。

小時

總共節省的計算量
開始使用
遠端快取 →

本頁內容