Turborepo

watch

根據程式碼變更,重新執行您儲存庫中的任務。

終端機
turbo watch [tasks]

turbo watch 具有相依性感知能力,這表示任務將會依照turbo.json 中設定的順序重新執行。

如果沒有提供任何任務,turbo 將會顯示儲存庫中可用於套件的任務。

終端機
turbo watch

turbo watch 與持續性任務搭配使用

持續性任務會標示為"persistent": true,表示它們不會結束。因此,它們無法在您的任務圖中被依賴。

這表示在使用 turbo watch 時會忽略持續性任務,其運作方式與 turbo run 相同,允許同時執行持續性和非持續性任務。

具有相依性感知的持續性任務

當您的指令碼具有內建的監看程式 (例如 next dev) 能夠偵測相依性的變更時,您不需要使用 turbo watch。相反地,請使用您指令碼的內建監看程式,並使用 "persistent": true 將任務標示為長時間執行。

不具備相依性感知的持續性任務

有些工具不適用於單體儲存庫,並且不會熱重新載入相依性中的模組。在這些情況下,您應該將任務標示為 interruptible: true,以便在偵測到相關變更時,讓 turbo watch 重新啟動任務。

限制

快取

使用 turbo watch 執行任務時,所有快取操作都會停用。

任務輸出

如果您有寫入受原始碼控制的檔案中的任務,則「監看模式」有可能會無限迴圈執行。這是因為「監看模式」會監看您的檔案是否有變更,並會重新執行已變更套件中的任務。如果任務產生變更,則會再次觸發該任務。

「監看模式」具有一些邏輯可以使用檔案雜湊來防止這種情況發生,但這並非萬無一失。為了避免這個問題,我們建議您從 git 中移除任何任務輸出。

小時

總計節省的運算資源
開始使用
遠端快取 →

本頁面內容