watch
根據程式碼變更,重新執行您儲存庫中的任務。
turbo watch
具有相依性感知能力,這表示任務將會依照turbo.json
中設定的順序重新執行。
如果沒有提供任何任務,turbo
將會顯示儲存庫中可用於套件的任務。
將 turbo watch
與持續性任務搭配使用
持續性任務會標示為"persistent": true
,表示它們不會結束。因此,它們無法在您的任務圖中被依賴。
這表示在使用 turbo watch
時會忽略持續性任務,其運作方式與 turbo run
相同,允許同時執行持續性和非持續性任務。
具有相依性感知的持續性任務
當您的指令碼具有內建的監看程式 (例如 next dev
) 能夠偵測相依性的變更時,您不需要使用 turbo watch
。相反地,請使用您指令碼的內建監看程式,並使用 "persistent": true
將任務標示為長時間執行。
不具備相依性感知的持續性任務
有些工具不適用於單體儲存庫,並且不會熱重新載入相依性中的模組。在這些情況下,您應該將任務標示為 interruptible: true
,以便在偵測到相關變更時,讓 turbo watch
重新啟動任務。
限制
快取
使用 turbo watch
執行任務時,所有快取操作都會停用。
任務輸出
如果您有寫入受原始碼控制的檔案中的任務,則「監看模式」有可能會無限迴圈執行。這是因為「監看模式」會監看您的檔案是否有變更,並會重新執行已變更套件中的任務。如果任務產生變更,則會再次觸發該任務。
「監看模式」具有一些邏輯可以使用檔案雜湊來防止這種情況發生,但這並非萬無一失。為了避免這個問題,我們建議您從 git 中移除任何任務輸出。
這對您有幫助嗎?