定义

Vite 是一个由 Evan You(尤雨溪)开发的现代化的前端构建工具,旨在提供更快、更轻量级的开发体验。它通过利用浏览器原生的 ES 模块(ESM)支持,在开发阶段实现按需编译,极大地缩短了启动时间和热更新速度。在生产构建时,Vite 使用 Rollup 打包代码,以实现最佳的性能和兼容性。

核心特点

  • 快速冷启动: 利用 ESM,无需打包整个应用即可启动开发服务器。
  • 即时热模块更换 (HMR): 修改代码后,HMR 速度极快,几乎感觉不到延迟。
  • 按需编译: 只在需要时编译代码,避免了不必要的编译开销。
  • 丰富的特性: 支持 TypeScript、JSX、CSS Modules 等现代 Web 开发特性。
  • 插件生态系统: 拥有强大的插件生态系统,可以扩展其功能。

分类

  • 开发服务器: 提供快速的开发体验。
  • 构建工具: 用于生产环境的代码打包和优化。

工作流程

开发阶段

  1. 冷启动开发服务器
  2. ESM 按需编译(只加载不打包)
  3. 热更新(HMR):当修改代码时,重新编译修改的模块并更新到浏览器

生产阶段

  1. 使用 Rollup 打包
  2. 代码优化:Rollup 会对代码进行压缩、Tree-shaking 等优化
  3. 静态资源压缩:打包后的代码会生成静态资源文件,可以直接部署到服务器

优缺点

  • 优点: - 极快的冷启动和 HMR 速度。 - 简单的配置,易于上手。 - 支持现代 Web 开发特性。
  • 缺点: - 相比传统打包工具,生态系统相对较新,可能存在兼容性问题。 - 对于非常大型的项目,可能需要更细致的配置优化。

相关概念

知识卡片

参考资料