Vite 的设计理念,本文就来详细看一下!
创始人
2025-07-04 12:10:54
0

近日,在 ViteConf 2023 上,Vite 团队成员 patak 发表了题为《Vite's Philosophy》 的演讲,分享了 Vite 的设计理念,本文就来详细看一下!

精简可扩展的核心

Vite 并不打算为每个用户的每种用例提供支持。Vite 旨在支持最常见的模式来构建开箱即用的 Web 应用程序,但 Vite 核心必须保持精简,API 接口较小,以保持项目的长期可维护性。这个目标的实现得益于 Vite 基于 rollup 的插件系统。可以作为外部插件实现的功能一般不会添加到 Vite 核心中。vite-plugin-pwa 是 Vite 核心可以实现的功能的一个很好的例子,并且还有很多维护良好的插件可以满足你的需求。Vite 与 Rollup 项目紧密合作,确保插件尽可能在纯 rollup 和 Vite 项目中使用,尽可能将所需的扩展推送到 Plugin API 上游。

推动现代化 Web

Vite 推出了一些注重编写现代代码的特性。例如:

  • 源代码只能用 ESM 编写,非 ESM 依赖项需要预先打包为 ESM 才能正常工作。
  • 鼓励使用新的 Worker 语法编写 Web Worker 以遵循现代标准。
  • Node.js 模块无法在浏览器中使用。

添加新功能时,将遵循这些模式来创建面向未来的 API,该 API 可能并不总是与其他构建工具兼容。

务实的性能策略

Vite自诞生之日起就专注于性能。其开发服务器架构使 HMR 能够随着项目规模的扩展而保持快速运行。Vite 使用 esbuild 和 SWC 等原生工具来实现密集型任务,但将其余代码保留在 JS 中,以平衡速度和灵活性。当需要时,框架插件将利用 Babel 来编译用户代码。在构建期间,Vite 目前使用 Rollup,其中打包大小和访问广泛的插件生态系统比原始速度更重要。Vite 将继续在内部发展,使用新的库,利用出现的新库来改善开发体验,同时保持其 API 的稳定性。

在 Vite 之上构建框架

尽管用户可以直接使用 Vite,但它在创建框架工具方面表现出色。Vite 核心不依赖于特定框架,但为每个UI框架提供了优化的插件。其 JS API 允许应用框架作者利用 Vite 的功能为用户创建定制化的体验。Vite 包含对 SSR 原语的支持,这些原语通常出现在更高级别的工具中,但却是构建现代 Web 框架的基础。Vite 插件则通过提供一种在不同框架之间共享的方式来完善整个生态系统。Vite 也非常适合与 Ruby 和 Laravel 等后端框架搭配使用。

活跃的生态系统

Vite 的进化是框架和插件维护者、用户和 Vite 团队之间的合作。一旦项目采用 Vite,就鼓励积极参与 Vite 核心的开发。Vite 团队与生态系统中的主要项目密切合作,以减少每个发布版本上的回归,这得益于 vite-ecosystem-ci 等工具的支持。它使我们能够在选定的 PR 上使用 Vite 运行主要项目的 CI,并让我们清楚地了解生态系统对发布的反应。在回归影响用户之前修复它们,并允许项目在发布后立即更新到下一个版本。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...