今天在用Webpack开发的时候,突然发现文件变动后热部署功能不工作了,感觉好像是webpack检测不到文件的修改了。折腾了半天,开始一直以为是自己的代码有问题了,结果一次无意识的重启了一下机器后发现又可以热部署了,感觉像是见鬼了。于是继续观察。

一天后,不幸再次降临,问题又出现了。

调研了一下,原来 Webpack 的热部署功能是使用 inotify 来监视文件变化,其中 fs.inotify.max_user_watches 表示同一用户同时可以添加的watch数目(watch一般是针对目录,决定了同时同一用户可以监控的目录数量)

因此,查看了一下系统当前的 max_user_watches 值

$ cat /proc/sys/fs/inotify/max_user_watches
8192

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_watches
524288

好了,试试修改结果吧,再次测试 webpack 的热部署功能,一切正常了。

以上这篇解决Webpack 热部署检测不到文件变化的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
webpack,热部署

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com