處理平台
Node.js 版本
若要考慮 Node.js 版本,請使用 package.json 中的 engines 鍵。Turborepo 會考慮此欄位的變更,並相應地錯過快取。
作業系統、架構和其他任意條件
對於進階使用案例,您可能會希望作業系統 (OS)、架構或其他外部因素有助於您的雜湊值。
1. 將任意檔案寫入磁碟
首先,建立一個腳本來處理您感興趣的雜湊值貢獻者。例如,以下是一個 Node.js 腳本,可識別平台和架構,並將這些詳細資訊寫入檔案 (turbo-cache-key.json
)
2. 將檔案新增至 .gitignore
您不會希望將此檔案提交至原始碼控制,因為它取決於環境。將它新增至您的 .gitignore
3. 將檔案新增至雜湊值
現在,請確定 turbo
知道該檔案,方法是將它新增至任務輸入。您可以使用兩種方式執行此操作
- 對於特定任務:將檔案包含在任務的
inputs
陣列中
- 對於所有任務:將檔案新增至
globalDependencies
4. 在執行 turbo
之前產生檔案
最後,您會希望確保在執行 turbo
之前執行腳本。例如
現在,當計算 build
任務的雜湊值時,turbo run build
將會考量 turbo-cache-key.json
的內容。
這有幫助嗎?