Перейти к содержанию

panicThreshold

Параметр panicThreshold управляет тем, как React Compiler обрабатывает ошибки во время компиляции.

1
2
3
{
  panicThreshold: 'none' // Recommended
}

Описание

panicThreshold

Определяет, должны ли ошибки компиляции прерывать сборку или пропускать оптимизацию.

Тип

1
'none' | 'critical_errors' | 'all_errors'

Значение по умолчанию

'none'

Варианты

  • 'none' (по умолчанию, рекомендуется): пропускать компоненты, которые нельзя скомпилировать, и продолжать сборку
  • 'critical_errors': прерывать сборку только при критических ошибках компилятора
  • 'all_errors': прерывать сборку при любой диагностике компилятора

Предупреждения

  • В продакшен-сборках всегда следует использовать 'none'
  • Сбой сборки не даёт собрать приложение
  • При 'none' компилятор автоматически обнаруживает проблемный код и пропускает его
  • Более строгие пороги полезны только во время разработки для отладки

Использование

Конфигурация для продакшена (рекомендуется)

Для продакшен-сборок всегда используйте 'none'. Это значение по умолчанию:

1
2
3
{
  panicThreshold: 'none'
}

Это гарантирует:

  • Сборка никогда не падает из-за проблем компилятора
  • Компоненты, которые нельзя оптимизировать, работают как обычно
  • Оптимизируется максимум компонентов
  • Стабильные продакшен-развёртывания

Отладка во время разработки

Временно используйте более строгие пороги, чтобы найти проблемы:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const isDevelopment = process.env.NODE_ENV === 'development';

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

Источник — https://react.dev/reference/react-compiler/panicThreshold

Комментарии