Spec-Zone.ru › React

Компиляция библиотек

Это руководство поможет авторам библиотек понять, как использовать React Compiler для публикации оптимизированного кода библиотек.

  • Зачем публиковать скомпилированный код?
  • Настройка компиляции
  • Обратная совместимость
    • 1. Установка пакета среды выполнения
    • 2. Настройка целевой версии
  • Стратегия тестирования
  • Устранение неполадок
    • Библиотека не работает со старыми версиями React
    • Конфликт компиляции с другими плагинами Babel
    • Модуль среды выполнения не найден
  • Дальнейшие шаги

Зачем публиковать скомпилированный код?

Как автор библиотеки, вы можете скомпилировать её код перед публикацией в npm. Это даёт несколько преимуществ:

  • Повышение производительности для всех пользователей — пользователи вашей библиотеки получают оптимизированный код, даже если пока не используют React Compiler
  • Пользователям не требуется настройка — оптимизации работают сразу после установки
  • Единообразное поведение — все пользователи получают одну и ту же оптимизированную версию независимо от настроек сборки

Настройка компиляции

Добавьте React Compiler в процесс сборки библиотеки:

Терминал
npm install -D babel-plugin-react-compiler@latest

Настройте инструмент сборки для компиляции библиотеки. Например, с помощью Babel:

// babel.config.js
module.exports = {
  plugins: [
    'babel-plugin-react-compiler',
  ],
  // ... other config
};

Обратная совместимость

Если ваша библиотека поддерживает версии React ниже 19, потребуется дополнительная настройка:

1. Установите пакет среды выполнения

Рекомендуем установить react-compiler-runtime как прямую зависимость:

Терминал
npm install react-compiler-runtime@latest
{
  "dependencies": {
    "react-compiler-runtime": "^1.0.0"
  },
  "peerDependencies": {
    "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
  }
}

2. Настройте целевую версию

Укажите минимальную версию React, поддерживаемую вашей библиотекой:

{
  target: '17', // Minimum supported React version
}

Стратегия тестирования

Проверьте библиотеку как с компиляцией, так и без неё, чтобы убедиться в совместимости. Запустите существующий набор тестов для скомпилированного кода, а также создайте отдельную конфигурацию тестирования, обходящую компилятор. Это поможет обнаружить проблемы, которые могут возникнуть в процессе компиляции, и убедиться, что библиотека работает правильно во всех сценариях.

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

Библиотека не работает со старыми версиями React

Если скомпилированная библиотека выдаёт ошибки в React 17 или 18:

  1. Убедитесь, что вы установили react-compiler-runtime как зависимость
  2. Проверьте, что конфигурация target соответствует минимальной поддерживаемой версии React
  3. Убедитесь, что пакет среды выполнения включён в опубликованный пакет

Конфликт компиляции с другими плагинами Babel

Некоторые плагины Babel могут конфликтовать с React Compiler:

  1. Разместите babel-plugin-react-compiler в начале списка плагинов
  2. Отключите конфликтующие оптимизации в других плагинах
  3. Тщательно проверьте результат сборки

Модуль среды выполнения не найден

Если пользователи видят сообщение «Cannot find module ‘react-compiler-runtime’»:

  1. Убедитесь, что среда выполнения указана в dependencies, а не в devDependencies
  2. Проверьте, что ваш сборщик включает среду выполнения в результат сборки
  3. Убедитесь, что пакет опубликован в npm вместе с вашей библиотекой

Дальнейшие шаги

  • Узнайте о методах отладки скомпилированного кода
  • Ознакомьтесь с параметрами конфигурации компилятора
  • Изучите режимы компиляции для выборочной оптимизации

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

Spec-Zone.ru

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