多語言支援
Turborepo 建構於 JavaScript 生態系的慣例之上,以尋找要執行的腳本和任務 - 但它不關心這些腳本的作用。 遵循在 JavaScript 工作區中指定套件的指南,您可以將任何其他語言或工具鏈新增至 Turborepo。
舉例來說,您的儲存庫中可能有一個 Rust 專案位於 ./cli
目錄中。 若要將此目錄作為套件新增至 JavaScript 套件管理員的工作區,請將該目錄新增至工作區定義
然後,將 package.json
新增至該目錄
現在,當您使用 turbo build
時,./cli/package.json
中的 "build"
腳本將包含在 turbo
執行的任務中。
快取建置產物
確保您的建置輸出透過 outputs 鍵在 turbo.json
中進行快取。 以使用 cargo 編譯的 Rust CLI 為例,發行版本將建立在 target/release
目錄中,我們可以透過以下方式快取它
建立依賴關係
由於該目錄現在是套件管理員工作區的一部分,因此您可以像為 JavaScript 套件建立依賴關係一樣建立依賴關係。
例如,如果您想確保先建置上述的 rust-cli
「套件」,然後再建置您的 web
應用程式,請將其安裝到 web
應用程式的依賴項中
假設 turbo.json
具有類似以下的 build
任務
turbo build
將首先為 Rust CLI 建立產物,然後建置 web
應用程式。