最近在用webpack開發,突然發現熱部署檢測不到文件的變化,相關webpack的代碼並沒有發生改變,而且同事們的webpack都是正常的,不能熱部署嚴重影響我的開發效率。
網上查了一下原來 Webpack 的熱部署功能是使用 inotify 來監視文件變化,其中 fs.inotify.max_user_watches 表示同一用戶同時可以添加的watch數目(watch一般是針對目錄,決定了同時同一用戶可以監控的目錄數量。
查看系統當前max_user_watches的值
$ cat /proc/sys/fs/inotify/max_user_watches
應該會顯示8192,8192是默認值,可能是這個值太小,而檢測的文件目錄太多,於是試着修改一下
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
查看修改后的值
$ cat /proc/sys/fs/inotify/max_user_watches
如果正常的話,恭喜你,你的webpack熱部署又正常了