Vite 的设计理念,本文就来详细看一下!

开发 前端
Vite 并不打算为每个用户的每种用例提供支持。Vite 旨在支持最常见的模式来构建开箱即用的 Web 应用程序,但 Vite 核心必须保持精简,API 接口较小,以保持项目的长期可维护性。

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

责任编辑:姜华 来源: 前端充电宝
相关推荐

2021-06-24 07:54:20

vite 静态处理public

2011-10-12 11:07:12

iCloudiOS5苹果

2017-03-03 10:37:07

Java泛型设计

2021-08-05 07:28:27

SQL触发器结构

2010-03-15 10:35:46

三层交换

2020-07-17 08:36:16

JVM性能监控

2021-10-27 10:48:49

架构运维技术

2024-04-26 08:41:04

ViteHMR项目

2019-06-17 05:00:53

预测性维护物联网IOT

2020-09-17 09:18:49

iOS 14苹果推送

2018-12-04 15:50:03

转行Python爬虫

2018-12-21 15:40:33

2022-11-09 11:17:24

tee命令

2018-12-20 11:20:47

物联网设备物联网

2010-04-21 16:37:22

梭子鱼负载均衡机

2010-08-26 11:15:47

LinuxICMP后门

2010-08-29 20:46:53

DHCP协议

2020-11-13 07:27:26

Windows10

2020-12-16 10:28:05

Double浮点数计算

2018-09-27 14:50:04

机器学习数据科学书籍
点赞
收藏

51CTO技术栈公众号