开发模式的差异
开发模式中,weback是先打包后启动开发服务器,vite是直接启动,然后按需编译依赖文件
对es modules的支持
现代浏览器本身就支持 ES Modules,会主动发起请求去获取所需文件。Vite充分利用了这一点,将开发环境下的模块文件直接作为浏览器要执行的文件,而不是像 Webpack 那样先打包,再交给浏览器执行。这种方式减少了中间环节,提高了效率。
Webpack 是基于 Node.js 构建的,而 Vite 则是基于 esbuild 进行预构建依赖
热更新的处理
webpack的热更新是全量更新,即使修改一个小文件,也会重新编译整个应用,这在大型应用中可能会导致编译速度变慢。 vite的热更新是增量更新,只更新修改的文件,所以即使在大型应用中也能保持极快的编译速度。