描述问题
The troubleshooting documentation提到在webpack监视器无法检测到文件更改的情况下使用CHOKIDAR_USEPOLLING=true。最新的webpack版本(5.72.1)不使用chokidar来检测源文件更改。它使用自己的包watchpack,该包不支持CHOKIDAR_USEPOLLING变量。它有WATCHPACK_POLLING变量用于它。
你尝试恢复依赖关系了吗?
是的,这不会改变依赖树(create-react-app => react-scripts => webpack => watchpack)。
你在用户指南中搜索了哪些术语?
N/A
环境
N/A
重现问题的步骤
N/A
预期行为
更新文档,提到在webpack监视器出现问题时使用WATCHPACK_POLLING。我不确定CHOKIDAR_USEPOLLING是否完全过时。我在webpack-dev-server
中找到了chokidar的使用方式来跟踪公共文件,所以我假设它们并没有完全从chokidar迁移过来。
实际行为
设置CHOKIDAR_USEPOLLING变量不足以强制轮询webpack监视器。
可复现的演示
在使用NFS时,我在webpack监视器中遇到了问题。显然,inotify
在文件更新时触发事件的功能与NFS不兼容。我无法创建简单的步骤来重现这个问题。
1条答案
按热度按时间qojgxg4l1#
@dimitriylol 感谢!
我可以确认,从2023-06-11开始,使用最新的create-react-app脚本初始化项目时,通过某种方式(直接环境导出、.env等)设置
WATCHPACK_POLLING=true
可以使npm start
调用按预期工作。对于其他进入此问题的人,我还建议在react-scripts/config/webpack.config.js模块中设置module.exports以包含对象
,这样就不会因为一堆不会改变的文件而让CPU受到大量轮询的影响。(https://webpack.js.org/configuration/watch/#watchoptionsignored)