vite为什么比webpack快


结论:vite通过“按需编译”和“利用浏览器原生ESM”跳过了打包这个最耗时的步骤,所以开发时的启动和热更新速度比webpack快。Vite 的核心优势是极致的开发体验,而 Webpack 的优势在于其经过多年打磨的、极其成熟和灵活的生产构建能力。

  1. 开发服务器架构不同
    webpack在启动前会先去构建整个应用的依赖图,将所有的模块(js,css)打包成一个或多个巨大的bundle,哪怕只修改了一行代码,也会
    导致重新构建变动的模块和受影响的chunk,然后浏览器又去重新获取整个chunk。到了后期,项目越大,依赖越多,耗时就越长了。

vite首先会把第三方依赖进行预构建一次,将很多小文件合并成大文件,然后转成原生的ESM,编写的项目源码并不会提前打包,只有当
浏览器请求他们的时候,vite服务器才会进行“按需编译”,然后返回给浏览器。比如我们只修改了一个文件,vite会精确地编译那个文件,然后通知浏览器,速度必然快了。

  1. 原生ESM的优势
    ESM就是js的标准功能,就是通过import,export导入和导出模块。比如,vite使用了
    ESM,而webpack将代码打包成浏览器看不懂的格式,他需要用自己的系统进行翻译和打包成浏览器能看得懂的格式,速度自然没有vite快了。

哦对了,我最近开发了一个叫牛马工作器的chrome拓展插件,很好玩哦,感兴趣的话,给我的公众号回复牛马即可免费获取。

我的微信公众号: 梨的前端小屋


文章作者: 梨啊梨
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 梨啊梨 !
  目录