社区项目 oj 用 Rust 重写了 Vite 的开发服务器。官方定位不是替代,而是提供另一种取舍,据称将用于 Lovable 的沙箱预览,带来约 4 倍的内存改善与 2 倍更快的冷启动。
为什么有人要重写
Vite 的开发体验建立在「按需编译 + 原生 ESM」上,但 dev server 本身跑在 Node 里。大型 monorepo 下,模块图规模上去之后,内存占用和冷启动会变成明显瓶颈,尤其是要同时起几十个沙箱实例的场景。
Rust 版本的取舍
好处是内存与启动速度,坏处是插件生态。Vite 的插件体系是 JS 写的,Rust 重写意味着插件要么用 Rust 重写,要么走跨语言调用,两种都有成本。所以 oj 现在的定位很克制:面向沙箱、预览、CI 这类不需要全套插件的场景。
这一点值得肯定,很多重写项目一上来就喊替代,最后卡在生态上。
顺带说个趋势
今年前端工具链的基础设施层在持续往原生语言迁移:TypeScript 编译器用 Go 重写,dev server 用 Rust 重写,打包器用 Rust 重写。规律是「越底层、越通用的部分,越值得用原生语言换性能;越贴近业务的部分,越应该留给 JS 生态」。
要不要试
如果你的痛点是「起十个预览环境把机器撑爆」,值得试。如果是日常开发,现有 Vite 的体验没什么可抱怨的,插件生态的价值远大于启动快两秒。
提醒
这类项目迭代快,API 不稳定,别在生产构建链上依赖。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。