Skip to content

项目理念

精简且可扩展的核心

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 toolchainRolldown,用于处理计算密集型任务,同时将其余代码保留在 JS 中,以兼顾速度与灵活性。在需要时,框架插件会借助 Babel 来编译用户代码。得益于 Rolldown 对 Rollup 插件的兼容性,Vite 能够访问广泛的插件生态系统。

基于 Vite 构建框架

尽管 Vite 可以直接供用户使用,但它尤其适合作为创建框架的工具。Vite 核心本身不特定于任何框架,但针对每个 UI 框架都提供了完善的插件支持。其 JS API 允许应用框架作者利用 Vite 特性为他们的用户提供定制化的体验。Vite 包含了对 SSR 基础功能 的支持,这些功能通常在更高级别的工具中出现,但对于构建现代 Web 框架至关重要。Vite 插件通过提供一种跨框架共享的方式,使整体方案更为完备。此外,当与诸如 RubyLaravel后端框架 结合使用时,Vite 也是一个绝佳选择。

活跃的生态系统

Vite 的发展是一个由框架和插件维护者、用户以及 Vite 团队共同协作的过程。我们鼓励当项目采用 Vite 时,也可以积极参与 Vite 核心开发。我们借助如 vite-ecosystem-ci 等工具与生态中的主要项目紧密合作,在每次发布时尽量减少回归问题。该工具允许我们在选定的 PR 上运行使用 Vite 的主要项目的 CI,并让我们清晰了解生态系统对新版本发布的反应情况。我们力求在问题影响到用户之前修复回归问题,确保项目能够尽快更新至最新版本。如果您正在使用 Vite,我们诚邀您加入 Vite Discord 频道 ,一同参与项目的发展。