本项目是一个使用webpack构建的vue项目,一切都正常,开始可以热更新,后来文件多了,发现直接删除磁盘上的东西可以热更新,
而在IDE里修改文件不行,经过思考,发现是一个参数决定了。
开发环境是ubuntu。
Webpack 的热部署功能是使用 inotify 来监视文件变化,其中 fs.inotify.max_user_watches
表示同一用户同时可以添加的watch数目(watch一般是针对目录,决定了同时同一用户可以监控的目录数量)
因此,查看了一下系统当前的 max_user_watches 值
1 | $ cat /proc/sys/fs/inotify/max_user_watches |
8192是默认值,可能是这个值太小,而我的app下的文件目录太多,于是试着修改一下
1 | echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p |
修改后查看一下修改结果
1 | $ cat /proc/sys/fs/inotify/max_user_watches |
现在就可以了,估计windows下不会出现。
永久生效
上述操作只是当前有效,要永久生效,需要修改配置文件。
1 | echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf |