写点什么

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:198555

评论

发布
暂无评论

Linux搭建C++开发调试环境

MySQL从删库到跑路

c++ Linux gdb 编译

中台: 54 天搞定中国百强企业的库存中心建设,而时间还能够再缩短至少一倍

日编一码

「国庆」忆读书生涯

我是程序员小贱

美食 旅行

阿里P8大牛爆肝的《Java核心技术总结》+《面试题总结》简直赞爆了

Java架构之路

Java 程序员 面试 编程语言 进阶

一个草根的日常杂碎(10月5日)

刘新吾

随笔杂谈 生活记录 社会百态

我把这个贼好用的Excel导出工具开源了!!

冰河

Java Excel 冰河 mykit-excel

第一周-食堂就餐卡系统设计-UML设计

kawayi

架构训练营-week4-学习总结

于成龙

架构 作业 互联网架构 架构训练营

在互联网站上怎么准确分辨别出MG平台真假VX(LGF7998)黑网的验证方法?

InfoQ_6b6a6317a692

架构师训练营第 1 期 - 第 4 周 - 学习总结

wgl

手把手教你AspNetCore WebApi:增删改查

AI代笔

ASP.NET Core web api EF Core

spring-boot-route(七)整合jdbcTemplate操作数据库

Java旅途

Java Spring Boot JDBC

手把手教你锤面试官01——HashMap面试全攻略

慵懒的土拨鼠

面试 java基础

看了这篇网络编程,就可以和面试官聊聊了

Simon郎

网络编程 websocket Java 分布式

架构师训练营第四周作业

邓昀垚

极客大学架构师训练营

纸质书和书写的慢时代

boshi

随笔杂谈

手把手教你AspNetCore WebApi:Swagger(Api文档)

AI代笔

ASP.NET Core swagger web api

《统计学习基础:数据挖掘、推理和预测》-斯坦福大学人工智能学科专用教材

计算机与AI

架构师训练营 Week4 系统架构 - 学习总结 架构演进

makefile从入门到入门

MySQL从删库到跑路

c++ Linux 编译 makefile

叹为观止!GitHub标星过万,腾讯技术官发布的“神仙文档”图解网络,简直是秋招福音

程序员 互联网 网络通信协议 计算机知识

手把手教你AspNetCore WebApi:入门

AI代笔

ASP.NET Core web api

4 个问题图解浏览器垃圾回收的过程

Java架构师迁哥

技术与思想:区块链的双重属性

CECBC

区块链 大数据

作者谈《阿里巴巴Java开发手册(规约)》背后的故事

Java架构师迁哥

Chrome浏览器架构

曲迪

chrome 大前端 浏览器 专栏

Code Review怎么做

胖鱼2号

LeetCode题解:102. 二叉树的层序遍历,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

洞察:区块链的危机与契机

CECBC

比特币 区块链 数字货币

spring-boot-route(六)整合JApiDocs生成接口文档

Java旅途

Java Spring Boot

云服务器网站打开速度过慢,如何进行自检

德胜网络-阳

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