开发环境的启动速度不同

  • vite在开发环境利用原生的ESM来按需加载、编译模块,不打包,生产环境利用Rollup来打包+Esbuild来进行预构建,webpack则在开发环境中就需要打包,启动速度慢

热更新速度不同

  • webpack在修改文件过后会重新编译相关的依赖模块
  • vite在修改文件过后进让浏览器重新请求这一个ESM模块,速度很快,与项目规模无关

依赖预构建

  • vite用Esbuild来预构建node-modules的依赖,利用Go写的,比Node快几十倍,还可以合并文件,减少网络请求

生产环境

vite在生产环境中利用Rollup进行打包,进行Tree-shacking、代码分割,保证最终代码的体积优化