You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-scripts build失败提示includes未定义,无堆栈如何定位问题?

1. 输出完整错误堆栈定位问题位置

你可以通过注入Node.js调试参数强制输出全量错误调用栈,根据你使用的操作系统选择对应命令执行构建:

  • macOS/Linux 系统执行:
    NODE_OPTIONS="--trace-uncaught" npm run build
  • Windows CMD 执行:
    set NODE_OPTIONS=--trace-uncaught && npm run build
  • Windows PowerShell 执行:
    $env:NODE_OPTIONS="--trace-uncaught"; npm run build
    执行后会打印完整的错误栈,直接定位到报错的具体依赖文件、代码行号。

2. 临时修改react-scripts源码兜底捕获错误

如果上面的参数没有输出足够信息,可以直接修改本地react-scripts的构建脚本增加全局错误捕获:

  1. 打开项目下的node_modules/react-scripts/scripts/build.js文件
  2. 在文件最顶部插入以下代码:
// 全局捕获所有未处理异常输出堆栈
process.on('uncaughtException', (err) => {
  console.error('完整错误堆栈:\n', err.stack);
  process.exit(1);
});
process.on('unhandledRejection', (reason) => {
  console.error('未处理异步错误堆栈:\n', reason.stack);
  process.exit(1);
});
  1. 再次执行npm run build,即可看到完整的错误调用链。

3. 常见对应问题排查方向

拿到堆栈信息后可以对应排查高频触发原因:

  • 检查项目ESLint、Babel配置项里的include/exclude字段,确认有没有未定义就调用includes方法的配置项
  • 先启动开发服务npm run start,确认开发模式下是否有更明确的错误提示
  • 检查近期是否新增了自定义构建配置(比如craco、react-app-rewired的配置改动),或者升级了Babel/ESLint相关依赖
  • 排查jsconfig.json/tsconfig.json的配置是否存在非法值,比如paths数组项为空、匹配规则格式错误

内容的提问来源于stack exchange,提问作者Donn Felker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:45:04