Философия проекта
Экономичное расширяемое ядро
Vite не намерен охватывать все возможные сценарии использования для каждого пользователя. Цель Vite — поддерживать наиболее распространённые шаблоны для создания веб-приложений «из коробки», но Vite Core должно оставаться легковесным с небольшой API-поверхностью, чтобы проект оставался поддерживаемым в долгосрочной перспективе. Эта цель возможна благодаря системе плагинов на основе Rollup. Функции, которые могут быть реализованы в виде внешних плагинов, обычно не добавляются в Vite Core. vite-plugin-pwa — отличный пример того, что можно достичь вне Vite Core, и существует множество хорошо поддерживаемых плагинов, которые могут удовлетворить ваши потребности. Vite тесно сотрудничает с проектом Rollup, чтобы обеспечить возможность использования плагинов как в обычных проектах Rollup, так и в проектах Vite, стараясь по возможности перенести необходимые расширения в Plugin API.
Продвижение современного веба
Vite предоставляет продуманные функции, которые подталкивают к написанию современного кода. Например:
- Исходный код может быть написан только в ESM, где зависимости, не относящиеся к ESM, должны быть предварительно объединены как ESM, чтобы работать.
- Веб-воркеры рекомендуется писать с использованием нового синтаксиса
Worker
, чтобы соответствовать современным стандартам. — Модули Node.js нельзя использовать в браузере.
При добавлении новых функций эти шаблоны используются для создания перспективного API, который не всегда может быть совместим с другими инструментами сборки.
Прагматичный подход к производительности
Vite был ориентирован на производительность с момента своего рождения. Архитектура dev-сервера позволяет HMR работать быстро по мере масштабирования проектов. Vite использует собственные инструменты, такие как esbuild и SWC, для реализации интенсивных задач, но сохраняет остальную часть кода на JS, чтобы сбалансировать скорость и гибкость. При необходимости плагины платформы будут подключаться к Babel для компиляции пользовательского кода. А во время сборки Vite в настоящее время использует Rollup, где размер пакета и доступ к широкой экосистеме плагинов более важны, чем чистая скорость. Vite будет продолжать развиваться внутри компании, используя новые библиотеки, которые улучшат DX, сохраняя при этом стабильность API.
Создание фреймворков на основе 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 и тоже принять участие в проекте.