React-app-rewired环境下Cypress测试无法运行求助
解决react-app-rewired环境下Cypress测试失败的问题
问题根源
你的start-ci脚本直接使用react-scripts start启动项目,没有通过react-app-rewired加载config-overrides.js中的Webpack配置,导致应用运行时缺失Node.js环境的polyfill(如process对象),这就是Cypress测试报错的核心原因。
修复步骤
1. 修改启动脚本
在package.json的scripts字段中,将start-ci改为通过react-app-rewired启动:
"start-ci": "cross-env PORT=3001 BROWSER=none react-app-rewired start"
2. 验证配置加载
执行npm run start-ci,观察控制台输出是否出现react-app-rewired相关日志,确认config-overrides.js已被正确加载。
3. 重新运行测试
执行npm run ci-test,此时应用会加载config-overrides.js中的polyfill配置,Cypress测试即可正常运行。
额外检查项
- 确保
cypress-cli-e2e脚本中的baseUrl与start-ci指定的端口一致(当前已匹配,无需修改)。 - 若仍有问题,检查
cypress/plugins/index.js是否存在覆盖Webpack配置的逻辑,避免干扰react-app-rewired的配置注入。
内容的提问来源于stack exchange,提问作者mnagdev
相关产品推荐
相关产品推荐

