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,并让我们清楚地了解生态系统对发布的反应。在回归影响用户之前修复它们,并允许项目在发布后立即更新到下一个版本。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...