新增至現有儲存庫
Turborepo 可以逐步導入任何儲存庫,無論是單一套件或多套件,以加速儲存庫的開發者和 CI 工作流程。
在安裝 turbo
並於 turbo.json
中設定您的任務後,您會注意到快取如何協助您更快速地執行任務。
準備單一套件工作區
單一套件工作區的範例是您在執行 npx create-next-app
或 npm create vite
後所獲得的內容。您不需要進行任何額外工作,Turborepo 即可處理您的儲存庫,因此您可以跳至下方的第一個步驟。
若要深入了解單一套件工作區中的 Turborepo,請造訪專門指南。
準備多套件工作區 (Monorepo)
turbo
建置於 Workspaces 之上,Workspaces 是 JavaScript 生態系統中主要套件管理工具的一項功能。這使得它很容易在您現有的程式碼庫中採用。
小知識:
如果您發現 turbo
遇到問題,例如無法探索您工作區中的套件,或無法追蹤您的依賴圖,請造訪我們的儲存庫結構化頁面以取得提示。
請注意,您不必立即開始使用 turbo
執行所有套件的所有任務。您可以從少數套件中的單一任務開始,並隨著您越來越熟悉 Turborepo,逐步新增更多任務和套件。
將 Turborepo 新增至您的儲存庫
新增 turbo.json
檔案
在您儲存庫的根目錄中,建立 turbo.json
檔案。
我們將在本指南中使用 build
和 check-types
任務,但您可以將這些替換為您感興趣的其他任務,例如 lint
或 test
。
如需設定 turbo.json
的更多資訊,請參閱設定選項文件。
在您的 Next.js 應用程式中,請確保您有一個 check-types
指令碼供 turbo
執行。
在多套件工作區中,您可能也想在您的一個或多個程式庫套件中新增 check-types
指令碼,以查看多個套件中的多個指令碼如何使用單一 turbo
命令執行。
將 packageManager
欄位新增至根目錄 package.json
Turborepo 使用來自您套件管理工具的資訊來最佳化您的儲存庫。若要宣告您正在使用的套件管理工具,如果您尚未擁有,請將 packageManager
欄位新增至您的根目錄 package.json
。
小知識:
根據您的儲存庫,在遷移期間或在您尚無法使用 packageManager
金鑰的情況下,您可能需要使用 dangerouslyDisablePackageManagerCheck
。
使用 turbo
執行任務
您現在可以使用 Turborepo 執行您稍早新增至 turbo.json
的任務。使用上述範例任務
這會同時執行 build
和 check-types
任務。您的工作區的依賴圖將用於以正確的順序執行任務。
在不變更任何程式碼的情況下,再次嘗試執行 build
和 check-types
您應該會看到類似這樣的終端機輸出
恭喜!您剛剛在毫秒內建置並進行了程式碼的類型檢查。
若要深入了解 turbo
如何實現這一點,請查看快取文件。
開始使用 turbo
執行 dev
來進行開發
在多套件工作區中,您可以執行 turbo dev
來一次啟動所有套件的開發任務。
您也可以使用篩選器來專注於特定套件及其依賴項目。
請注意,此步驟在單一套件工作區中沒有太多價值,因為
- 您不會快取開發任務的輸出。
- 只有一個開發指令碼,因此沒有什麼可以平行執行的。
下一步
您現在已啟動並執行 Turborepo!若要了解更多可以改善您的工作流程並充分利用 turbo
的方法,我們建議查看以下頁面