项目理念
精简且可扩展的核心
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,但请注意,这样的API可能并不总是与其它构建工具兼容。
旨在高性能的实用解决方案
自 诞生之初 起,Vite 就始终专注于性能优化。其开发服务器架构确保了随着项目规模增长,HMR 仍能保持高速。Vite 基于原生工具构建,包括 Oxc toolchain 和 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 频道 ,一同参与项目的发展。
