Vite 和 Webpack 的区别

175 阅读1分钟

简单说法:vite 相比 webpack,更快,能显著提高本地开发效率、优化热更新性能、简化构建配置,适合现代前端工程化的开发需求。webpack的生态比较成熟,但默认抓取整个应用进行打包,有报错就会影响构建,项目越大构建越慢;

image.png

详细说明:

  1. Vite 的优势
  • 开发启动快:基于原生 ESM,冷启动,几乎无需等待。
  • 按需编译,热更新快:只编译正在使用的模块,HMR(热更新)更快更轻量。
  • 配置更简单:开箱即用,默认的配置就适配大部分项目需求。(以前使用 webpack 构建的时候,还有专门的 webpack 配置工程师职位呢)
  • 支持现代语法和框架:内置支持 TS、JSX、Vue、React 等。
  • 优化了构建:生产使用 Rollup 打包构建,体积更小,树摇(Tree Shaking)更加彻底。
  1. Vite 所体现的 核心性能优势
  • 基于原生 ESM 模块机制

不需要打包整个依赖树,开发时按需加载模块,避免了 Webpack 的冷启动瓶颈问题。

  • 使用 esbuild 依赖预构建

第三方依赖使用 esbuild 预构建,速度比 Babel 快几十倍。

  • 模块级的热更新

只替换修改的模块,让 Vue、React 项目开发体验非常地顺畅。

  • 使用 Rollup 进行生产构建

构建产物更加稳定、更小,适合现代浏览器部署的需求。