PassFront
  1. PassFront
  2. База знаний
  3. Основы React

Какие плюсы и минусы Create React App?

Основы React

Create React App (CRA) — исторический стартер React-приложений с zero-config сборкой. Сегодня официально не рекомендуется, но плюсы и минусы полезно понимать.

Плюсы (почему был стандартом)

  • Zero config: одна команда — готовый проект с webpack, Babel, ESLint, dev-сервером, HMR и production-сборкой.
  • Единый стандарт: одинаковая структура во всех проектах, много туториалов и ответов.
  • Обновление тулчейна одной зависимостью (react-scripts) — без ручного сопровождения конфигов.
  • Из коробки: тесты (Jest), поддержка TS, .env, PWA-шаблон.

Минусы (почему от него ушли)

  • Медленно: webpack-сборка и запуск dev-сервера на больших проектах — десятки секунд; Vite (esbuild + нативные ESM) стартует мгновенно.
  • Скрытый конфиг: изменить что-либо можно лишь через необратимый eject (после него вы поддерживаете весь пайплайн) или обёртки CRACO/react-app-rewired.
  • Устаревшие зависимости и уязвимости: обновления выходили редко; после Webpack 5 — боль с полифиллами Node-модулей.
  • Только CSR: нет SSR/SSG — для SEO нужен переезд на Next.js.
  • Заброшен: развитие остановлено, React-документация убрала CRA из рекомендаций.

Чем заменяют

  • Vite — для SPA: быстрый dev, открытый конфиг, современные дефолты.
  • Next.js / Remix — если нужны SSR/SSG, роутинг и серверные компоненты.
  • Миграция CRA → Vite — типовая задача последних лет (замена скриптов, index.html, env-префиксов).

Коротко для собеседования

Плюсы CRA: zero config, единый стандарт, обновление тулчейна одной зависимостью. Минусы: медленная webpack-сборка, скрытый конфиг (eject/CRACO), устаревшие зависимости, только клиентский рендеринг, проект заброшен. Современная замена — Vite для SPA и Next.js/Remix при необходимости SSR.

Другие вопросы раздела