为什么 vite 比 webpack 快
开发环境
编译方式
- webpack 会打包成 bundle(dist)然后再开启 dev 服务
- vite 先开启 dev 服务,在接受到 http 请求时,再对访问的模块进行编译(no bundle)
编译工具
- webpack 使用 babel 等工具
- vite 使用 esbuild 加快构建
热更新
- webpack 改变文件时编译新文件
- vite 改变文件时只编译新模块
生产环境
兼容性
- webpack 使用 babel 具有极佳兼容性
- vite 使用 esbuild 最低兼容 es6,使用 legacy 插件(使用 babel)才可以兼容更低版本
vite 开发时尽管模拟了 rollup 插件流程,但是因为 nobunlde 与 bundle 的区别,开发环境与生产环境仍然可能出现不同