今天在用Webpack開發的時候,突然發現文件變動后熱部署功能不工作了,感覺好像是webpack檢測不到文件的修改了。折騰了半天,開始一直以為是自己的代碼有問題了,結果一次無意識的重啟了一下機器后發現又可以熱部署了,感覺像是見鬼了。于是繼續觀察。
一天后,不幸再次降臨,問題又出現了。
調研了一下,原來 Webpack 的熱部署功能是使用 inotify 來監視文件變化,其中 fs.inotify.max_user_watches 表示同一用戶同時可以添加的watch數目(watch一般是針對目錄,決定了同時同一用戶可以監控的目錄數量)
因此,查看了一下系統當前的 max_user_watches 值
$ cat /proc/sys/fs/inotify/max_user_watches8192
8192是默認值,可能是這個值太小,而我的app下的文件目錄太多,于是試著修改一下
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
修改后查看一下修改結果
$ cat /proc/sys/fs/inotify/max_user_watches524288
好了,試試修改結果吧,再次測試 webpack 的熱部署功能,一切正常了。
以上這篇解決Webpack 熱部署檢測不到文件變化的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答