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