Об этом проекте
react-app-rewired — это инструмент для разработчиков, который позволяет переопределять и настраивать конфигурацию webpack в проектах Create React App (CRA) без использования команды 'eject'. Он сохраняет преимущества нулевой настройки CRA, предоставляя разработчикам гибкость для добавления плагинов, загрузчиков и других необходимых настроек.
Инструмент работает путем перехвата стандартных команд react-scripts (start, build, test) и применения пользовательских переопределений из файла config-overrides.js. Этот файл может экспортировать либо одну функцию для настройки webpack, либо объект с отдельными функциями для конфигураций webpack, Jest, devServer и путей.
Ключевые возможности включают: настройку правил и плагинов webpack для разработки и продакшн-сборок; изменение конфигурации тестов Jest, включая шаблоны путей тестов и пресеты Babel; переопределение конфигурации Webpack Dev Server для HTTPS-сертификатов и прокси-настроек; а также корректировку путей проекта, передаваемых в webpack и Jest.
Проект поддерживает версии CRA 1.x (Webpack 3) и CRA 2.x (Webpack 4), при этом версия 2.0 удалила вспомогательные функции rewire в пользу прямой конфигурации. Также поддерживаются пользовательские пакеты react-scripts через флаг --scripts-version, что позволяет использовать варианты TypeScript, такие как react-scripts-ts.
Существует большое сообщество плагинов rewire для распространенных случаев использования, включая плагины Babel (emotion, lodash, styled-components), плагины webpack (favicons, imagemin, bundle analyzer) и загрузчики (TypeScript, SCSS, SVG, YAML). Файл config-overrides также может быть указан как каталог для модульной организации или передан через командную строку для гибкости.
Важные предостережения: использование react-app-rewired нарушает официальные гарантии CRA, что означает, что вы владеете конфигурацией и не получаете официальной поддержки. Автор рекомендует Next.js или Razzle для проектов, требующих обширной настройки webpack из коробки. Альтернативы, такие как customize-cra, Rescripts и craco, также доступны для совместимости с CRA 2.0+.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.