panicThreshold

panicThreshold 选项用于控制 React 编译器在编译过程中如何处理错误。

{
panicThreshold: 'none' // 推荐
}

参考

panicThreshold

决定编译错误是导致构建失败,还是仅跳过优化。

类型

'none' | 'critical_errors' | 'all_errors'

默认值

'none'

选项

  • 'none' (默认, 推荐): 跳过无法编译的组件并继续构建
  • 'critical_errors': 仅在关键编译器错误时使构建失败
  • 'all_errors': 遇到任何编译诊断即使构建失败

注意事项

  • 生产环境构建应始终使用 'none'
  • 构建失败会阻止你的应用构建
  • 使用 'none' 时,编译器会自动检测并跳过有问题的代码
  • 更高的阈值仅在开发调试时有用

用法

生产环境配置(推荐)

对于生产构建,始终使用 'none'。这是默认值:

{
panicThreshold: 'none'
}

这样可以确保:

  • 构建不会因编译器问题而失败
  • 无法优化的组件仍可正常运行
  • 尽可能多的组件会被优化
  • 生产部署更加稳定

开发调试

可临时使用更严格的阈值来定位问题:

const isDevelopment = process.env.NODE_ENV === 'development';

{
panicThreshold: isDevelopment ? 'critical_errors' : 'none',
logger: {
logEvent(filename, event) {
if (isDevelopment && event.kind === 'CompileError') {
// ...
}
}
}
}