今天在用Webpack開發(fā)的時候,突然發(fā)現(xiàn)文件變動后熱部署功能不工作了,感覺好像是webpack檢測不到文件的修改了。折騰了半天,開始一直以為是自己的代碼有問題了,結(jié)果一次無意識的重啟了一下機器后發(fā)現(xiàn)又可以熱部署了,感覺像是見鬼了。于是繼續(xù)觀察。
一天后,不幸再次降臨,問題又出現(xiàn)了。
調(diào)研了一下,原來 Webpack 的熱部署功能是使用 inotify 來監(jiān)視文件變化,其中 fs.inotify.max_user_watches 表示同一用戶同時可以添加的watch數(shù)目(watch一般是針對目錄,決定了同時同一用戶可以監(jiān)控的目錄數(shù)量)
因此,查看了一下系統(tǒng)當前的 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
修改后查看一下修改結(jié)果
$ cat /proc/sys/fs/inotify/max_user_watches524288
好了,試試修改結(jié)果吧,再次測試 webpack 的熱部署功能,一切正常了。
以上這篇解決Webpack 熱部署檢測不到文件變化的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。
新聞熱點
疑難解答