原理对比
Webpack启动的时候,要根据
entry
找到所有的依赖模块,然后对代码进行编译、打包、压缩的。所以Webpack是bundle based dev server
Vite的核心思想是:利用浏览器的能力,将解析依赖和获取JS模块的工具交给浏览器去做。本地服务器支队模块进行基本的transform,减少了分析依赖跟源码打包的成本。因此,Vite的原理是
Native ESM based dev server
Vite 就一定比Webpack 快吗?
并不是!以下是开发模式下的对比:
Vite启动非常快,因为他是
Native ESM based dev server
的原理,把部分在webpack启动时做的工作,交给了浏览器去做了。Vite 首次启动加载慢。因为模块以ES6原生的模块加载机制的方式被浏览器加载,没有对代码进行打包跟压缩处理,因此请求数会更多,下载文件也会更大。
Vite是牺牲了页面首次加载时间来加快项目启动时间,但是仅仅是首次!Vite的第二次启动是会有缓存的。
未完...