Spec-Zone.ru › React

target

Параметр target указывает, для какой версии React компилятор должен генерировать код.

{
  target: '19' // or '18', '17'
}
  • Справочник
    • target
  • Использование
    • Целевая версия — React 19 (по умолчанию)
    • Целевая версия — React 17 или 18
  • Устранение неполадок
    • Ошибки времени выполнения из-за отсутствия среды выполнения компилятора
    • Пакет среды выполнения не работает
    • Проверка скомпилированного результата

Справочник

target

Задает совместимость с версией React для скомпилированного результата.

Тип

'17' | '18' | '19'

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

'19'

Допустимые значения

  • '19': Целевая версия — React 19 (по умолчанию). Дополнительная среда выполнения не требуется.
  • '18': Целевая версия — React 18. Требуется пакет react-compiler-runtime.
  • '17': Целевая версия — React 17. Требуется пакет react-compiler-runtime.

Ограничения

  • Всегда используйте строковые значения, а не числа (например, '17', а не 17)
  • Не указывайте версии патчей (например, используйте '18', а не '18.2.0')
  • React 19 включает встроенные API среды выполнения компилятора
  • Для React 17 и 18 требуется установить react-compiler-runtime@latest

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

Целевая версия — React 19 (по умолчанию)

Для React 19 специальная настройка не требуется:

{
  // defaults to target: '19'
}

Компилятор будет использовать встроенные API среды выполнения React 19:

// Compiled output uses React 19's native APIs
import { c as _c } from 'react/compiler-runtime';

Целевая версия — React 17 или 18

Для проектов на React 17 и React 18 выполните два шага:

  1. Установите пакет среды выполнения:
npm install react-compiler-runtime@latest
  1. Настройте целевую версию:
// For React 18
{
  target: '18'
}

// For React 17
{
  target: '17'
}

Для обеих версий компилятор будет использовать среду выполнения с полифиллом:

// Compiled output uses the polyfill
import { c as _c } from 'react-compiler-runtime';

Устранение неполадок

Ошибки времени выполнения из-за отсутствия среды выполнения компилятора

Если вы видите ошибки, например “Cannot find module ‘react/compiler-runtime’“:

  1. Проверьте версию React:

    npm why react
  2. Если используется React 17 или 18, установите среду выполнения:

    npm install react-compiler-runtime@latest
  3. Убедитесь, что целевая версия соответствует версии React:

    {
      target: '18' // Must match your React major version
    }

Пакет среды выполнения не работает

Убедитесь, что пакет среды выполнения:

  1. Установлен в проекте (а не глобально)
  2. Указан в зависимостях package.json
  3. Имеет правильную версию (тег @latest)
  4. Не находится в devDependencies (он нужен во время выполнения)

Проверка скомпилированного результата

Чтобы убедиться, что используется правильная среда выполнения, обратите внимание на различия в импорте (react/compiler-runtime для встроенной, react-compiler-runtime для отдельного пакета в версиях 17/18):

// For React 19 (built-in runtime)
import { c } from 'react/compiler-runtime'
//                      ^

// For React 17/18 (polyfill runtime)
import { c } from 'react-compiler-runtime'
//                      ^

© 2013–present Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://react.dev/reference/react-compiler/target

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API