Компиляция библиотек
Это руководство поможет авторам библиотек понять, как использовать React Compiler для публикации оптимизированного кода библиотек.
- Зачем публиковать скомпилированный код?
- Настройка компиляции
- Обратная совместимость
- Стратегия тестирования
- Устранение неполадок
- Дальнейшие шаги
Зачем публиковать скомпилированный код?
Как автор библиотеки, вы можете скомпилировать её код перед публикацией в npm. Это даёт несколько преимуществ:
- Повышение производительности для всех пользователей — пользователи вашей библиотеки получают оптимизированный код, даже если пока не используют React Compiler
- Пользователям не требуется настройка — оптимизации работают сразу после установки
- Единообразное поведение — все пользователи получают одну и ту же оптимизированную версию независимо от настроек сборки
Настройка компиляции
Добавьте React Compiler в процесс сборки библиотеки:
Настройте инструмент сборки для компиляции библиотеки. Например, с помощью Babel:
// babel.config.js
module.exports = {
plugins: [
'babel-plugin-react-compiler',
],
// ... other config
}; Обратная совместимость
Если ваша библиотека поддерживает версии React ниже 19, потребуется дополнительная настройка:
1. Установите пакет среды выполнения
Рекомендуем установить react-compiler-runtime как прямую зависимость:
{
"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:
- Убедитесь, что вы установили
react-compiler-runtimeкак зависимость - Проверьте, что конфигурация
targetсоответствует минимальной поддерживаемой версии React - Убедитесь, что пакет среды выполнения включён в опубликованный пакет
Конфликт компиляции с другими плагинами Babel
Некоторые плагины Babel могут конфликтовать с React Compiler:
- Разместите
babel-plugin-react-compilerв начале списка плагинов - Отключите конфликтующие оптимизации в других плагинах
- Тщательно проверьте результат сборки
Модуль среды выполнения не найден
Если пользователи видят сообщение «Cannot find module ‘react-compiler-runtime’»:
- Убедитесь, что среда выполнения указана в
dependencies, а не вdevDependencies - Проверьте, что ваш сборщик включает среду выполнения в результат сборки
- Убедитесь, что пакет опубликован в npm вместе с вашей библиотекой
Дальнейшие шаги
- Узнайте о методах отладки скомпилированного кода
- Ознакомьтесь с параметрами конфигурации компилятора
- Изучите режимы компиляции для выборочной оптимизации
© 2013–present Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://react.dev/reference/react-compiler/compiling-libraries