Skip to content

Webpack 和 vite的区别

一般项目当中,vue使用的构建工具是vitereact使用的构建工具是webpack

底层实现来看:

webpack底层使用node.js来实现,vite使用node.js+rust来编写。

打包方面:

webpack会打包所有的资源,包括代码和样式等等。所有的模块需要经过Loader处理后才能被浏览器识别,即使是未修改的模块也会重新打包。

vite启动时不打包,直接利用浏览器对原生js的支持,仅在浏览器请求时才处理模块。修改文件后只更新变化的部分。

启动速度方面:

webpack在启动时需要分析和打包整个项目,速度较慢。vite冷启动接近毫秒级别,因为无需预打包,速度较快。

热更新方面:

webpack修改文件后需要重新编译相关的模块,可能触发整个bundle的重新构建,导致热更新延迟。

vite基于es模块的按需加载,热更新仅替换变化的模块。

配置复杂度方面:

webpack配置复杂,需要手动设置loader、plugin和优化策略。

vite配置简单,内置常见的功能,开箱即用。

使用场景:

vite适用于追求极致开发速度,现代浏览器优先,VueReact等原生支持ES模块。

webpack适用于大型,较复杂的项目,适合对构建流程有精细控制的需求。