WSL 2环境下create-react-app项目修改文件React不自动重载如何解决
WSL2环境下create-react-app热重载失效解决方法
问题根因
WSL2默认的文件系统事件监听机制无法作用于Windows挂载盘(路径以/mnt/c、/mnt/d开头的目录),如果你的项目存放在Windows挂载盘下,就会出现文件变更无法被识别的问题。
解决方法
- 方案1(优先推荐):将项目迁移到WSL2原生Linux文件系统路径下,比如
/home/[你的用户名]/project目录,迁移后重新执行npm start即可自动恢复热重载能力,该方案性能最优,无额外副作用。 - 方案2(项目必须存放在Windows挂载盘时使用):在项目根目录新建
.env文件,添加如下配置:
CHOKIDAR_USEPOLLING=true WATCHPACK_POLLING=true
配置完成后重启npm start服务即可,该方案通过轮询检测文件变更实现热重载,大项目下会占用稍高的CPU资源。
其他校验项
- 确认启动服务时没有强制关闭热重载配置,检查
package.json中的start命令是否添加了--no-hot之类的禁用参数 - 确认你修改的是
src目录下的项目文件,CRA默认只会监听src目录内的文件变更触发重载
内容的提问来源于stack exchange,提问作者julz oh
相关产品推荐
相关产品推荐

