项目理念
精简可扩展的核心
Vite 旨在开箱即用地支持构建 Web 应用的最常见模式,同时长期保持 Vite 核心 的精简和可维护性。我们相信支持多样化用例的最佳方式是提供强大的原语和 API 供插件构建,并且我们积极扩展核心以使 Vite 更具可扩展性。Vite 的插件系统 基于 Rollup 插件 API 的超集,它使得像 vite-plugin-pwa 这样的插件以及许多 维护良好的插件 能够满足您的需求。Vite 的打包器 Rolldown 保持与 Rollup 插件接口的兼容性,因此插件通常可以在 Vite 和纯 Rollup 项目之间通用。
推动现代 Web 发展
Vite 提供了主张鲜明的功能,以推动编写现代代码。例如:
- 源代码只能使用 ESM 编写,非 ESM 依赖需要 预打包为 ESM 才能工作。
- 鼓励使用
new Worker语法 编写 Web workers 以遵循现代标准。 - Node.js 模块不能在浏览器中使用。
在添加新功能时,遵循这些模式以创建面向未来的 API,这可能并不总是与其他构建工具兼容。
务实的性能方法
Vite 自 起源 以来就一直专注于性能。其开发服务器架构允许 HMR 在项目规模扩大时保持快速。Vite 基于原生工具(包括 Oxc 工具链 和 Rolldown)来实现密集型任务,但将其余代码保留在 JS 中以平衡速度与灵活性。必要时,框架插件将利用 Babel 来编译用户代码。得益于 Rolldown 的 Rollup 插件兼容性,Vite 可以访问广泛的插件生态系统。
基于 Vite 构建框架
虽然用户可以直接使用 Vite,但它作为创建框架的工具更为出色。Vite 核心与框架无关,但每个 UI 框架都有完善的插件。其 JS API 允许应用框架作者使用 Vite 功能为其用户创建定制化的体验。Vite 包括对 SSR 原语 的支持,这些原语通常出现在更高级的工具中,但对于构建现代 Web 框架至关重要。Vite 插件通过提供框架间共享的方式完善了这一图景。当与 后端框架 如 Ruby 和 Laravel 配对时,Vite 也非常合适。
活跃的生态系统
Vite 的演进是框架和插件维护者、用户以及 Vite 团队之间的合作。我们鼓励一旦项目采用 Vite 后就积极参与 Vite 核心的开发。我们与生态系统中的主要项目密切合作,以最小化每个版本的回归,并借助 vite-ecosystem-ci 等工具提供帮助。它允许我们在选定的 PR 上运行使用 Vite 的主要项目的 CI,并让我们清楚地了解生态系统对发布的反应状态。我们致力于在回归影响用户之前修复它们,并允许项目在发布后尽快更新到下一个版本。如果您正在使用 Vite,我们邀请您加入 Vite 的 Discord 并参与到项目中来。
