最近在用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热部署又正常了