Олег Марков
Что такое Vite и как запускать проекты React через него
Введение
Когда вы начинаете новый проект на React, важно выбрать удобный, быстрый инструмент для сборки и разработки. В последние годы разработчики массово переходят на Vite – сверхскоростной сборщик, сочетающий последние тренды web-разработки с простым управлением зависимостями. В этой статье вы узнаете, что из себя представляет Vite, какие у него преимущества по сравнению с классическими инструментами вроде Create React App, и как просто и эффективно создавать React-проекты через Vite на практике.
Что такое Vite
Vite (читается как "вит", от французского “быстро”) — это современный инструмент и сборщик проектов для фронтенд-разработки. Автором Vite является Эван Ю, которого вы, возможно, знаете как создателя фреймворка Vue.js.
Главная задача Vite — предложить разработчикам по-настоящему быстрый и гибкий путь для старта и ведения современных web-проектов. Vite заменяет собой такие инструменты, как Webpack, Parcel или Rollup, обеспечивая при этом минимальное время запуска и обновления кода при разработке.
Основные идеи и преимущества Vite
Вот ключевые отличия и особенности Vite, которые делают его заметным среди других сборщиков:
- Молниеносный старт dev-сервера — Vite использует "native ESM" в браузере, то есть модульную систему ES, позволяя загружать только те файлы, которые сейчас требуются странице.
- Горячая перезагрузка (HMR) — Изменения в файлах моментально отображаются в браузере без полной перезагрузки страницы.
- Продвинутая сборка — Для продакшн-версии проектов Vite использует Rollup, что гарантирует оптимизированную сборку с продвинутым tree-shaking (удалением неиспользуемого кода).
- Плагин-ориентированная архитектура — Можно подключать разные плагины, добавлять поддержку CSS-препроцессоров, TypeScript и других технологий.
- Минимальный boilerplate — Очень мало лишних файлов и настроек по сравнению со старыми генераторами.
Как Vite работает "под капотом"
Для режима разработки Vite запускает локальный dev-сервер, который почти ничего не компилирует заранее. В браузер подаются JS-модули "как есть", и только те файлы, что реально запрошены пользователем. Для финальной сборки "vite build" запускает Rollup и собирает оптимальный бандл, готовый к деплою.
Vite — это современный инструмент для сборки фронтенда, который обеспечивает быструю и эффективную разработку React-приложений. Благодаря использованию ES modules и оптимизации процесса сборки, Vite позволяет значительно ускорить запуск и обновление проектов. Если вы хотите детальнее изучить Vite и узнать, как использовать его для запуска React-проектов — приходите на наш большой курс Основы React, React Router и Redux Toolkit. На курсе 177 уроков и 17 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Установка Vite и создание React проекта
Давайте теперь перейдем к практике. В этом разделе я покажу вам, как быстро поднять современный React-проект через Vite — без лишнего boilerplate и долгой установки.
Требования к системе
Для начала убедитесь, что у вас установлен Node.js версии 14.18+, 16+ или новее. Проверить установленную версию можно так:
node -v
Если необходимо установить или обновить Node.js — это можно сделать с официального сайта nodejs.org или через ваш менеджер пакетов.
Инициализация нового проекта через Vite
Смотрите, Vite предлагает свой способ создания новых приложений через официальную утилиту npm или yarn (или pnpm):
Способ 1: Используем npm
npm create vite@latest my-react-vite-app -- --template react
# Здесь:
# my-react-vite-app — имя вашего проекта
# --template react — указываем, что хотим шаблон React
Способ 2: Альтернатива с помощью yarn или pnpm
yarn create vite my-react-vite-app --template react
# или
pnpm create vite my-react-vite-app --template react
Пояснение к процессу
- После выполнения команды выбирается имя папки и шаблон (React, TypeScript, Vue и т.д.).
- Vite сразу развернет минимальную структуру проекта — никаких ненужных файлов.
- В папке "my-react-vite-app" будут только необходимые для старта файлы.
Установка зависимостей
После инициализации шаблона перейдите в ваш проект и установите зависимости:
cd my-react-vite-app
npm install
Если вы предпочитаете yarn или pnpm — используйте соответствующие команды.
Структура проекта
Открывайте проект в редакторе: вы увидите минимальную структуру файлов:
index.html
— главная точка входа, Vite использует его как шаблон для html.src/main.jsx
— основной файл старта вашего приложения.src/App.jsx
— корневой React-компонент.vite.config.js
(создается автоматически, если вам нужны кастомизации).
Пример содержимого main.jsx
:
```jsx
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import './index.css'
ReactDOM.createRoot(document.getElementById('root')).render(
Запуск проекта в режиме разработки
Теперь можно запускать проект:
npm run dev
# Или через yarn/pnpm: yarn dev или pnpm dev
Если всё сделано корректно, dev-сервер будет запущен по умолчанию на http://localhost:5173/. Вы увидите стандартное приветствие Vite+React.
Каждое изменение в компонентах (например, в App.jsx) сразу же появится в браузере — Vite обеспечивает быструю и плавную "горячую перезагрузку" (HMR).
Базовая настройка и возможности Vite для React
Давайте более подробно посмотрим, что еще может предложить Vite, помимо скорости и простоты.
Работа с файлами и импортами
Vite поддерживает "alias" для путей (например, чтобы писать @/components/Button
вместо длинных относительных путей). Для этого откройте или создайте vite.config.js:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'), // Теперь можно использовать @ в импортах
},
},
})
// Теперь импорт выглядит так: import Button from '@/components/Button.jsx'
Использование CSS и препроцессоров
Vite "из коробки" работает с CSS, а также поддерживает PostCSS, Less, Sass и другие препроцессоры.
Если хотите использовать Sass, просто установите пакет:
npm install -D sass
Теперь можете писать импорты вида:
js
import './styles/main.scss'
Поддержка TypeScript
Добавить TypeScript в ваш Vite-React проект можно двумя способами:
- Через шаблон: при создании проекта указывайте шаблон
react-ts
. - В существующий проект: добавьте файл tsconfig.json и установите зависимости.
Пример команды для старта нового TypeScript-проекта:
npm create vite@latest my-react-ts-app -- --template react-ts
Подключение плагинов и расширение возможностей
По мере роста проекта, вероятно, появится необходимость добавить дополнительные плагины, например, для автоматизации импортов, поддержки PWA или аналитики. Установка плагина — аналогична npm-пакетам:
npm install vite-plugin-pwa -D
Настройка производится обычно через объект plugins в vite.config.js
.
Сборка проекта для продакшена
Когда приложение готово к публикации, Vite позволяет легко собрать оптимальный бандл. Выполните команду:
npm run build
После сборки появится папка dist, в которой будет лежать ваш минифицированный и оптимизированный проект (HTML, JS, CSS, ассеты).
Просмотр собранного проекта
Для запуска собранного проекта на локальном сервере используйте команду:
npm run preview
Это удобно для финального тестирования перед публикацией — сервер запустится в том же виде, в каком бы работал на продакшене.
Главные отличия от Create React App (CRA)
Многие разработчики интересуются, чем сборка на Vite отличается от классических CRA. Вот самые заметные аспекты:
- Скорость запуска и HMR
Vite запускается за доли секунды, CRA может думать по 10-20 секунд на средних проектах. - Гибкая настройка
В Vite проще добавлять плагины, менять конфиг, расширять возможности. - Чище структура
В проекте на Vite почти нет лишнего кода или запутанных файлов. - Быстрой сборка
Файлы бандлятся с помощью Rollup, результат становится компактнее и быстрее. - Типы импортов
Возможны гибкие alias и поддержка модулей из коробки.
Примеры интеграции популярных инструментов (React Router, Redux, и др.)
Vite по умолчанию совместим со всеми популярными React-инструментами. Вот быстрые шаги по интеграции некоторых из них:
React Router
Установка и подключение такой же, как в обычном проекте React:
npm install react-router-dom
Далее используйте Router-компоненты, как привычно.
Redux Toolkit
npm install @reduxjs/toolkit react-redux
Затем настройте store и провайдер, как обычно — никаких уникальных настроек под Vite!
Советы по оптимизации и кастомизации Vite
Оптимизация ассетов
Vite автоматически оптимизирует статические файлы (svg, png, шрифты, медиа). Ассеты из папки public доступны напрямую, а из src можно импортировать для получения url-адреса:
import Logo from './assets/logo.svg'
<img src={Logo} alt="my logo" />
// Такой импорт удобен для динамики и будет оптимизирован в build-режиме
Работа с ENV-переменными
Vite поддерживает переменные окружения через .env файлы:
VITE_
— любой переменной, которую вы хотите использовать в коде, нужно добавлять префикс VITE_.- Создайте
.env
, запишите переменную:VITE_API_URL=https://api.example.com
- Используйте в коде:
js const apiUrl = import.meta.env.VITE_API_URL
Расширенная конфигурация
Если понадобилась особая настройка сервера (например, прокси на бэкенд), можно добавить в vite.config.js:
export default defineConfig({
server: {
proxy: {
'/api': 'http://localhost:5000', // все запросы к /api перенаправляются на backend
},
},
})
Заключение
Vite открывает перед React-разработкой быстрый и легкий путь к современному фронтенду. Благодаря минимальной структуре, сверхбыстрому старту и гибкой системе плагинов, вы быстрее запускаете проекты, меньше отвлекаетесь на сборочный конфиг и можете сконцентрироваться на логике приложения. Освоить Vite просто — достаточно инициализировать новый проект через одну команду и сразу приступать к работе. С ним нет необходимости глубоко разбираться в тонкостях настройки сборщиков – всё работает из коробки, но при этом при необходимости умеет быть невероятно гибким.
Vite значительно ускоряет разработку. Для создания сложных приложений необходимо уметь управлять состоянием и роутингом. Курс Основы React, React Router и Redux Toolkit поможет освоить все необходимые аспекты. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в основы React уже сегодня.
Частозадаваемые технические вопросы по теме статьи и ответы на них
Как добавить поддержку абсолютных путей при импортах в старом проекте на Vite?
Откройте vite.config.js и добавьте блок resolve и нужные alias, используя модуль path:
import path from 'path'
export default {
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
}
}
Теперь вы сможете использовать импорты вроде import MyComponent from '@/components/MyComponent'
.
Можно ли подключить Tailwind CSS к проекту React на Vite?
Да, Tailwind ставится как обычно:
- Установите пакеты:
npm install -D tailwindcss postcss autoprefixer
- Запустите инициализацию:
npx tailwindcss init -p
- Добавьте Tailwind директивы в
src/index.css
:@tailwind base; @tailwind components; @tailwind utilities;
- Импортируйте этот файл в
main.jsx
— теперь Tailwind работает!
Как изменить порт development сервера Vite?
В файле vite.config.js добавьте блок server:
export default defineConfig({
server: {
port: 3000
}
})
Ваш dev-сервер будет запускаться на http://localhost:3000/.
Как подключить изображения из public-папки и из src в Vite?
- Для public используйте путь относительно домена:
<img src="/logo.png" />
- Для src импортируйте файл как модуль:
js import logo from './assets/logo.png' <img src={logo} />
Что делать, если горячая перезагрузка не работает в Vite-React проекте?
Обычно это связано с зависшим процессом или кэшем. Попробуйте:
- Остановить dev-сервер.
- Очистить node_modules и кэш:
rm -rf node_modules/.vite
- Перезапустить сервер
npm run dev
.
Если не помогает — обновите Vite и плагины.
Постройте личный план изучения React до уровня Middle — бесплатно!
React — часть карты развития Frontend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по React
Лучшие курсы по теме

React и Redux Toolkit
Антон Ларичев
TypeScript с нуля
Антон Ларичев