Repolode
timarney

timarney/react-app-rewired

Помогает настраивать webpack, Jest и dev-сервер Create React App с помощью config-overrides, не выполняя eject.

Звёзды
9,836
Форки
418
Открытые issues
25
Последний коммит
в прошлом месяце

Что это?

react-app-rewired позволяет изменять конфигурацию webpack в проекте Create React App, не выполняя eject и не создавая форк react-scripts. Для этого в корне проекта нужно разместить файл config-overrides.js, экспортирующий функцию, которая получает конфигурацию webpack по умолчанию и возвращает изменённую. Добавить плагины, загрузчики и другие настройки сборки можно, отредактировав этот файл.

Кроме конфигурации webpack, через тот же файл можно настраивать Jest, dev-сервер webpack и используемые CRA пути. Настройки Jest также можно расширить в секции jest файла package.json, а плагины Babel для тестов задать в секции babel или файле .babelrc. Поддерживаются пользовательские форки react-scripts, например react-scripts-ts: для этого предусмотрен параметр командной строки.

Использование react-app-rewired означает отказ от гарантий поддержки, которые обычно предоставляет Create React App: теперь за изменённую конфигурацию отвечаете вы. В проекте отмечают, что он поддерживается лишь в ограниченном объёме, и перечисляют альтернативы: customize-cra, Rescripts и craco.

Ключевые возможности

  • 01Расширяет конфигурацию webpack в CRA по умолчанию с помощью функции в config-overrides.js.
  • 02Позволяет настраивать Jest, в том числе конфигурацию Babel для тестов.
  • 03Позволяет переопределять конфигурацию dev-сервера webpack, например настраивать HTTPS-сертификаты.
  • 04Поддерживает пользовательские пакеты react-scripts через параметр командной строки.
  • 05Поддерживает использование каталога config-overrides или файла по пользовательскому пути.

Сценарии использования

  • Добавление пользовательского плагина или загрузчика webpack в проект Create React App без eject.
  • Настройка HTTPS-сертификатов для dev-сервера CRA.
  • Изменение настроек Jest или плагинов Babel для тестов в приложении на CRA.

Быстрый старт

  1. 1

    Установите react-app-rewired как зависимость для разработки

    npm install react-app-rewired --save-dev
  2. 2

    Создайте config-overrides.js в корне проекта и экспортируйте функцию override

  3. 3

    Измените npm-скрипты start, build и test, чтобы вместо react-scripts использовать react-app-rewired

  4. 4

    Запустите сервер разработки

    npm start

Что важно знать

  • Проект поддерживается ограниченно, в основном силами сообщества; поддержка не предоставляется.
  • Проект предназначен для Create React App 2.x с Webpack 4; для более старых версий CRA нужен релиз с зафиксированной версией 1.6.2.
  • При настройке конфигурации ответственность за неё ложится на вас, и гарантии CRA могут перестать действовать.

Темы

#react#webpack#create-react-app#config#jest#build-tool#eject#never

Частые вопросы

Что такое react-app-rewired?
Помогает настраивать webpack, Jest и dev-сервер Create React App с помощью config-overrides, не выполняя eject. react-app-rewired позволяет изменять конфигурацию webpack в проекте Create React App, не выполняя eject и не создавая форк react-scripts. Для этого в корне проекта нужно разместить файл config-overrides.js, экспортирующий функцию, которая получает конфигурацию webpack по умолчанию и возвращает изменённую. Добавить плагины, загрузчики и другие настройки сборки можно, отредактировав этот файл.
react-app-rewired можно использовать бесплатно? Какая у него лицензия?
react-app-rewired распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
react-app-rewired всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в react-app-rewired — 3 окт. 2026 г..
Для чего можно использовать react-app-rewired?
Добавление пользовательского плагина или загрузчика webpack в проект Create React App без eject. Настройка HTTPS-сертификатов для dev-сервера CRA. Изменение настроек Jest или плагинов Babel для тестов в приложении на CRA.
Как установить react-app-rewired?
Установите react-app-rewired как зависимость для разработки: npm install react-app-rewired --save-dev Создайте config-overrides.js в корне проекта и экспортируйте функцию override Измените npm-скрипты start, build и test, чтобы вместо react-scripts использовать react-app-rewired Запустите сервер разработки: npm start
Где скачать react-app-rewired?
Исходный код и инструкции по установке — на GitHub: https://github.com/timarney/react-app-rewired

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Плагин для webpack и CLI, который показывает содержимое бандла в виде интерактивной масштабируемой древовидной карты и помогает найти самые объёмные модули.

12,7 тыс.517JavaScriptMITАктивно поддерживаетсяОбновлён позавчера

Лёгкий набор утилит для тестирования React DOM: он позволяет находить элементы и взаимодействовать с компонентами так, как это делают пользователи.

19,7 тыс.+1 за неделю1,2 тыс.JavaScriptMITОбновлён 2 месяца назад

Самостоятельно размещаемое веб-приложение для быстрого обмена файлами между устройствами: управление несколькими пользователями, возобновляемая передача и доступ к общим папкам по QR-коду.

63941GoLGPL-3.0Активно поддерживаетсяОбновлён позавчера

Система сборки и инструмент для рабочих пространств, которые помогают организовать код JavaScript/TypeScript в переиспользуемые компоненты — от разработки до CI и деплоя.

18,5 тыс.+5 за неделю963TypeScriptOtherОбновлён 23 часа назад