panicThreshold
panicThreshold オプションは、コンパイル時のエラーを React Compiler がどのように処理するかを制御します。
{
panicThreshold: 'none' // Recommended
}リファレンス
panicThreshold
コンパイルエラーでビルドを失敗させるか、最適化をスキップするかを決定します。
Type
'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') {
// ...
}
}
}
}