如果它在配置/環境相同但功率更大的計算機上正常工作,那麼我認爲假設您正在監視太多文件是正確的。
如果你還沒有,你應該在一個配置上運行grunt watch,該配置只監視幾個文件,以進一步支持你只是看着太多文件的路徑。
最後,你應該只是在觀看需要觀看的文件,換句話說,在開發過程中實際上會發生變化。第三方庫等應絕對不包含在該集合中!
我向你推薦的只是看你需要觀看的文件,並且你可以精確地指定你需要觀看的文件,或者在某種程度上具體使用glob模式。我還會指出,你可以使用否定運算符!
和glob。
如果按照我的建議後,您仍然有同樣的問題,你有三種選擇,因爲我看到它:
- 一次創建更具體的手錶的任務,只運行一個或兩個人。
- 升級您的硬件
- 請勿使用watch,只需從命令行手動觸發任務即可。
編輯: 添加從下面的評論的答案,因爲它直接解決提出的問題。
要計算grunt觀看的文件,請使用linux find命令並將其傳送到wc -l
。因此,如果您在您的項目根目錄下運行,並且想要計算存在於src目錄及其子目錄中的擴展名爲.js的文件的數量,那麼這看起來就像find . -name "src/*.js" | wc -l
。我們在這裏所做的是找到符合條件的所有文件,然後通過使用wc命令和-l來統計stdout中的換行符來計算文件數量。
我運行了'grunt watch --verbose',並從終端上覆制了所有看過的文件名並粘貼在記事本++文件中,我可以看到它正在觀看1152個文件。足夠使CPU使用率達到100%嗎? –
有些變量,比如CPU的強大功能,使我無法確定地回答這些問題。總而言之,是的,這是可能的。這是很多文件。我會更精確地處理您正在觀看的文件。另外,你應該確保你正在運行grunt和grunt-contrib-watch的最新版本,因爲在grunt-contrib-watch的歷史上有很多的性能改進。 – rdgd
此外,即使看起來你的文件大致相當,要回答如何計算grunt監視的文件的問題,請使用linux find命令並將其傳遞給「wc -l」。因此,如果您在項目根目錄下運行,並且想要計算存在於src目錄及其子目錄中的擴展名爲.js的文件的數量,那麼這將看起來像'find。 -name「src/*。js」| wc -l'。我們在這裏做的是找到所有符合條件的文件,然後通過使用'wc'命令和'-l'來計算新文件的數量。 – rdgd