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