QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Vite 6.0 发布了,但开发人员仍在等待由 Rust 驱动的流行构建工具的未来

作者:Tim Anderson

  • 2024-12-25
    北京
  • 本文字数:1391 字

    阅读完需:约 5 分钟

Vite 6.0 发布了,但开发人员仍在等待由 Rust 驱动的流行构建工具的未来

Vite 6.0 是自一年前 Vite 5.0 发布以来的首次重大更新,虽然该团队声称这是自 2021 年 Vite 2.0 以来最重要的版本,但最大的变更还在后头。



用 Vue 6.0 构建的 Hello World 应用程序


Vite 是一个针对 JavaScript 和 TypeScript 的构建工具,旨在比其他选项更快、更高效。它的作用不仅仅是构建应用程序,因为 Vite 还包含了一个开发服务器,并支持热模块替换(HMR),能够在开发环境中修改代码并将这种更改反映到正在运行的应用程序中。


6.0 版本被描述为“自 2021 年 Vite 2 发布以来最重要的主版本”;但这并不是开发人员所期待的主要更新。新特性包括默认使用 Sass CSS 语言的现代 API,自定义 CSS 输出文件名的能力,以及支持实验环境 API 的内部重构。


目前,Vite 支持两种环境,一种用于在浏览器中运行应用程序,另一种用于服务器端渲染。在 Vite 6 中,使用实验环境 API,可以定义多个环境,以匹配不同的生产目标,包括在 Node.js 或 Cloudflare Workerd 上运行。它还提供了在多个不同环境中并发运行的功能。


不过,正如 Vite(和 Vue.js)的创建者 Evan You 在 10 月份的 ViteConf 上所解释的那样,还有更多的变更在进行中。You 表示,Vite 的未来基于四种工具,它们是:


  • 具有 HMR 和框架支持的 Vite 开发服务器

  • Vitest,Vite 的原生测试运行器

  • Rolldown,Rollup 打包器的替代品,用 Rust 编写

  • Oxc(Oxidation 编译器),被描述为一种语言工具链,它执行包括解析、linting、将 TypeScript 转换为 JavaScript 以及压缩代码在内的任务。Oxc 也是用 Rust 编写的


You 还宣布成立一家新公司 Void(0)(或 VoidZero),该公司正在构建“下一代 JavaScript 工具”,并获得了 460 万美元的种子资金。新公司拥有并控制着 Oxc 和 Rolldown,尽管它们仍然是 MIT 许可下的开源项目。


You 说,Vite 面临的挑战反映了更广泛的 JavaScript 生态系统的挑战——最初只是作为一种简单的脚本语言,现在被用于大型和复杂的应用程序。社区已经创建了一些工具来弥合 JavaScript 功能与当今用例需求之间的差距,包括 TypeScript、打包器、压缩器等。这是一个健康的社区,但也有缺点,包括碎片化、不兼容和效率低下。


Vite 本身有两个或三个大的依赖项。一个是 esbuild,一个用 Go 编写的打包器,用于转换 TypeScript、压缩代码和依赖项预打包。另一个是 Rollup,用于生产打包器、插件支持和摇树(tree-shaking,死代码消除)。第三个可选的依赖项是 SWC,另一个 JavaScript/TypeScript 编译器,通常用于 React 应用程序。


You 说,使用这些具有重叠功能的各种工具会引入“由于行为不同而导致的微妙错误”,并且由于代码在它们之间来回传递,会导致管道效率低下。



尚未实现:Evan You 于 10 月在 ViteConf 上介绍了 Vite 的未来


You 所预见的未来是带有 Rolldown 和 Oxc 的 Vite,他称之为“统一的工具链”,它将更快、更可靠。


这个未来仍然很遥远。下一步可能是明年某个时候推出 Rolldown 的测试版。


Vite 很受欢迎。据该团队称,自去年发布 Vite 5 以来,npm 注册表的下载量从每周 750 万次增加到 1700 万次。开发人员喜欢它的性能,而且它相对易于使用。不过它也有竞争对手,包括来自 Vercel 的 Turbopack,它也是用 Rust 编写的——尽管 You 反驳了 Vercel 声称它比 Vite 快 10 倍的说法。


原文链接:

https://devclass.com/2024/11/28/vite-6-0-released-but-devs-still-await-rust-powered-future-for-popular-build-tool/

2024-12-25 12:198457

评论

发布
暂无评论

餐饮品牌资产上链,产业区块链史诗级浪潮已到来

CECBC

餐饮

案例研究之聊聊 QLExpress 源码 (八-1)

小诚信驿站

聊聊架构 28天写作 QLExpress源码 聊聊源码

为什么越南不会成为世界工厂?

JiangX

供应链 工业 28天写作 制造

有些软件,听着听着就没了...

艾小仙

互联网

产品经理训练营笔记-认识产品经理(上)

.nil?

Spring Boot 中的全局异常处理

武哥聊编程

Java springboot SpringBoot 2 异常处理 28天写作

做事情的三条边

石云升

28天写作 基线 极限

Redis 学习笔记 04:跳跃表

架构精进之路

redis 七日更 28天写作

线上问题排查学习总结

原来不悔

Java Linux

一款dubbo服务可视化调试工具

程序员架构进阶

dubbo 工具 RPC 服务化 28天写作

如何轻松面过阿里社招Java岗,九大核心模块为你保驾护航!(知识点+面经)

Java架构追梦

Java 架构 面试

网络攻防: 爬虫的钳形攻势

杨东冬

大数据 安全攻防 网络安全 爬虫 安全

week8-conclusion

J

阿里首推的“SpringBoot+Vue全栈项目”有多牛X?

Java架构之路

Java 程序员 架构 面试 编程语言

python自学 第三章 python语言基础之保留字、标识符与内置函数

WEB前端修行日志

Python 编码格式

C2C交易系统APP开发|C2C交易软件开发

系统开发

区块链交易所系统开发|区块链交易所软件APP开发

系统开发

突破瓶颈,“iOS开发”,跳槽面试必备题(针对年后面试者)

Geek_24a3d9

面试 简历 ios开发

编程语言学习心得 (完全版) -- 不要害怕遗忘和混淆

蔡超

程序员 个人成长 编程语言 Go 语言

python自学 第四章 python语言基础之变量

WEB前端修行日志

Python 编码格式

RocketMQ解析

石刻掌纹

电商网站商品管理(三)group by+avg+sort等聚合分析

escray

elasticsearch elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

2021年-iOS面试进阶资料总结(备战年后)

iOSer

学习 面试 iOS Developer iOS 架构RxSwift

是什么可以在Github上标星85.4K,揭秘阿里Springboot项目笔记!

996小迁

Java 架构 面试 springboot

使用 JSX 建立 Markup 组件风格

三钻

大前端 组件化

现成矿机挖矿软件系统APP开发案例

系统开发

架构师训练营第八周课后作业

万有引力

Java虚拟机内存模型

xcbeyond

Java JVM Java虚拟机 28天写作

不愧是Github上疯传的腾讯Java全栈进阶笔记!总结的太全啥都有!

Java架构之路

Java 程序员 架构 面试 编程语言

爱了爱了!阿里爆款Spring进阶宝典,涵盖其所有技术栈(源码+实战彻底玩转Spring框架)

Java架构之路

Java 程序员 架构 面试 编程语言

python自学 第二章 python语言基础之语法特点(注释、代码缩进、编码规范)

WEB前端修行日志

Python 编码格式

Vite 6.0 发布了,但开发人员仍在等待由 Rust 驱动的流行构建工具的未来_大前端_InfoQ精选文章