Vite 8.1 正式发布!启动提速 15 倍,加载提速 10 倍

27 阅读3分钟

今年3月 Vite 8 完成重磅架构升级,彻底抛弃 esbuild + Rollup 双引擎,全线改用 Rust 编写的 Rolldown 单打包器,性能大幅跃升。

时隔三个月,Vite 8.1 正式官宣发布

目前 Vite 周下载量已达 14160 万,热度逼近 Vite7 累计总量。本次更新无破坏性变更,主打性能暴涨、体验优化,尤其解决大型前端项目的开发卡顿问题。

1. 开发提速15倍:全新打包开发模式

老版本 Vite 非打包开发模式,在万级模块的大型项目中,会存在启动慢、刷新卡顿的问题。

Vite 8.1 上线实验性打包开发模式(原全打包模式),专门根治大项目性能痛点,实测数据炸裂:

  • 万级 React 项目:启动快15倍,整页重载快10倍

  • 企业项目 Linear:冷启动提速3倍,页面重载提速40%,网络请求减少90%

  • 核心保留:项目再大,HMR 热更新依旧秒级响应

开启方式(二选一即可)

// vite.config.jsimport { defineConfig } from 'vite'export default defineConfig({  experimental: {    bundledDev: true  }})


# 命令行直接启动
vite --experimental-bundle

小贴士:该功能目前为实验特性,适配官方基础插件,部分第三方插件可能不兼容,生产环境慎用

2. 优化缓存:彻底解决哈希连锁失效

之前有个很头疼的问题:改一行工具代码,所有关联页面的 chunk 哈希都会变动,用户缓存直接失效、重复加载资源。

8.1 新增Chunk Import Map 实验特性,基于浏览器原生能力,精准定位变更模块,只更新改动文件,杜绝哈希连锁刷新,大幅提升浏览器缓存命中率,大项目首屏加载更快。

⚠️ 该功能与 experimental.renderBuiltUrl 互斥,只能二选一使用。

3. 原生支持 Wasm,无需第三方插件

以往项目使用 Wasm,必须安装额外插件。Vite 8.1 直接内置 Wasm ESM 标准支持,零插件、开箱即用。

import { add } from './add.wasm'
console.log(add(1, 2)) // 直接调用,输出 3

4. CSS 性能升级:全力拥抱 Lightning CSS

官方明确后续迭代方向:未来大版本将默认用 Lightning CSS 替代 PostCSS

8.1 补齐了 Lightning CSS 的短板,支持外部 CSS 引入、插件自定义依赖,完全适配日常开发场景。相比 PostCSS,编译和压缩速度更快。

手动开启极速 CSS 转换:

export default defineConfig({  css: {    transformer: 'lightningcss'  }})

5. 两处实用细节优化

① glob 匹配支持大小写不敏感

解决 Windows / Mac 跨平台文件大小写兼容问题,代码更简洁:

// 同时匹配 module1.js / Module1.jsconst modules = import.meta.glob('./dir/module*.js', {  caseSensitive: false})

② 自定义 HTML 资源解析

支持自定义标签、自定义属性识别静态资源,完美适配主题切换、自定义业务组件场景:

export default defineConfig({  html: {    additionalAssetSources: {      'html-import': { srcAttributes: 'src' },      img: { srcAttributes: ['data-src-dark', 'data-src-light'] }    }  }})

6. 升级指南与适配建议

快速升级命令

pnpm add vite@8.1
# 或更新至最新稳定版
pnpm add vite@latest

适配建议

  • 中小型项目:直接无缝升级,零成本体验全部优化

  • 大型项目:尝试开启打包开发模式,大幅提升开发效率

  • 性能敏感项目:测试 Lightning CSS,提前适配未来规范

  • 生产环境:所有实验性功能谨慎启用