Skip to content

Философия проекта

Экономичное расширяемое ядро

Vite стремится поддерживать наиболее распространённые паттерны создания веб-приложений «из коробки», сохраняя при этом ядро Vite легковесным и поддерживаемым в долгосрочной перспективе. Мы верим, что лучший способ обеспечить поддержку разнообразных сценариев использования — это предоставить мощные примитивы и API, на базе которых могут строиться плагины, и мы активно развиваем ядро, чтобы сделать Vite более расширяемым. Система плагинов Vite основана на расширенном API плагинов Rollup (superset), что позволяет таким решениям, как vite-plugin-pwa и множеству других хорошо поддерживаемых плагинов, удовлетворять ваши потребности. Бандлер Vite, Rolldown, сохраняет совместимость с интерфейсом плагинов Rollup, поэтому плагины часто можно использовать как в Vite, так и в обычных проектах на Rollup.

Продвижение современного веба

Vite предоставляет продуманные функции, которые подталкивают к написанию современного кода. Например:

  • Исходный код может быть написан только в ESM, где зависимости, не относящиеся к ESM, должны быть предварительно объединены как ESM, чтобы работать.
  • Веб-воркеры рекомендуется писать с использованием нового синтаксиса Worker, чтобы соответствовать современным стандартам. — Модули Node.js нельзя использовать в браузере.

При добавлении новых функций эти шаблоны используются для создания перспективного API, который не всегда может быть совместим с другими инструментами сборки.

Прагматичный подход к производительности

Vite с самого начала ориентирован на производительность. Архитектура его dev-сервера обеспечивает быстрый HMR, который остаётся шустрым даже при росте проекта. Vite построен на нативных инструментах: использует Oxc toolchain и Rolldown для ресурсоёмких задач, но оставляет остальной код на JavaScript, чтобы сохранить баланс между скоростью и гибкостью. При необходимости плагины фреймворков подключают Babel для компиляции пользовательского кода. Благодаря совместимости Rolldown с плагинами Rollup, Vite имеет доступ к огромной экосистеме готовых плагинов.

Создание фреймворков на основе Vite

Хотя Vite может использоваться пользователями напрямую, он прекрасно подходит как инструмент для создания фреймворков. Vite Core не зависит от платформы, но для каждой платформы пользовательского интерфейса существуют усовершенствованные плагины. Его JS API позволяет авторам App Framework использовать функции Vite для создания индивидуального опыта для своих пользователей. Vite включает поддержку примитивов SSR, обычно присутствующих в инструментах более высокого уровня, но имеющих основополагающее значение для создания современных веб-фреймворков. Плагины Vite дополняют картину, предлагая возможность обмена данными между платформами. Vite также отлично подходит в сочетании с бэкэнд-фреймворками, например Ruby и Laravel.

Активная экосистема

Эволюция Vite — это сотрудничество разработчиков фреймворка и плагинов, пользователей и команды Vite. Мы поощряем активное участие в разработке Vite Core, как только проект будет использовать Vite. Мы тесно сотрудничаем с основными проектами экосистемы, чтобы минимизировать регрессии в каждом выпуске, чему способствуют такие инструменты, как vite-ecosystem-ci. Это позволяет нам запускать CI крупных проектов с использованием Vite для выбранных PR и дает нам чёткое представление о том, как экосистема отреагирует на выпуск. Мы стремимся исправлять регрессии до того, как они коснутся пользователей, и разрешаем проектам обновляться до следующих версий сразу после их выпуска. Если вы работаете с Vite, мы приглашаем вас присоединиться к обсуждениям в Discord и тоже принять участие в проекте.