以前装三个工具今天一条命令全包了——Vite+ 把前端工具链彻底收口了
以前起一个新项目,npm install 之后第一件事是装 eslint、prettier、vitest,有的还要再加一个 husky 和 lint-staged。光配置这堆东西就要折腾小半天,更别说后续还要维护那堆 .eslintrc 和 .prettierrc——这三个工具之间还经常打架,格式化和 lint 的规则互相覆盖是常有的事。VoidZero 推出的 Vite+ 这次把这三件事彻底收进了一个命令行里。
vite new、vite test、vite lint、vite fmt、vite lib、vite run、vite ui——这是 Vite+ 内置的七条命令,涵盖了从项目初始化到测试、代码检查、格式化、打包、任务运行和开发工具可视化的完整链路。我跑了一遍,发现它的核心逻辑其实很清晰:把原来分散在各个独立工具里的功能,统一收进 Vite 生态,再把底层全换成 Rust 实现。
vite lint 基于 Oxlint 构建。Oxlint 是 Oxc 工具链的一部分,完全用 Rust 写,官方数据说比 ESLint 快 50-100 倍,支持 600 多个兼容 ESLint 的规则。实际用下来最大的感受不是速度——速度提升是预期的——而是零配置。装完不需要写 .eslintrc,Oxlint 自带一套默认规则,基本能覆盖大多数项目的需求。遇到特殊需求时,配置文件也兼容 ESLint 格式,迁移成本很低。
vite fmt 基于 Oxfmt,这是 Oxc 工具链里的格式化组件。官方说目标是和 Prettier 99% 兼容,实际测试下来主流场景确实不需要改配置。用惯了 Prettier 的人迁移过去基本无感。差别在于 Oxfmt 是 Rust 写的,格式化速度比 Prettier 快一个数量级。
vite test 走的 Vitest 路线,兼容 Jest API,同时也支持浏览器模式和可视化回归测试。这块没有换底层,但集成进 Vite+ 之后和 lint/fmt 共享同一套配置,省掉了维护多份配置的麻烦。
vite lib 值得关注。它基于 tsdown 和 Rolldown 构建,Rolldown 是 Vite 团队用 Rust 重写的 Rollup,比原生 Rollup 快 10-30 倍。打包库的场景下不需要再单独配置 Rollup,一条 vite lib 命令直接搞定。
一个值得关注的细节:Vite+ 是商业项目,但 Vite 本身和核心底层库(Rolldown、Oxc)继续开源。Vite 创始人 Evan You 在 Hacker News 上回应质疑时说得很直接:Vite+ 的收入会用于继续支持开源底层库的开发。底层 Rust 工具链是开源的,Vite+ 卖的是更好的整合体验和企业级特性(供应链审查、SLA 支持)。
性能方面,官方数字是构建速度比 webpack 快 40 倍。实际跑起来,Rolldown 替代原生 Rollup 带来的提速是最明显的——大项目冷启动从原来的分钟级降到秒级不是夸张。代码检查和格式化这两块在大型 monorepo 里效果最显著,Airbnb 内部测试 126,000 个文件的仓库,Oxlint 7 秒跑完,ESLint 直接超时。
下一步怎么做其实很明确:已经在用 Vite 的项目可以尝试把 eslint 和 prettier 卸了,改用 vite lint 和 vite fmt;新项目可以直接跑 vite new 生成带完整工具链的模板。但需要注意生态锁定的问题——Vite+ 的配置文件格式和 Vite 强绑定,如果你同时维护多个不同技术栈的项目,迁移优先级可以往后排。
评论区
登录后可评论。