JavaScript常见面试题:Vite 跟 Webpack的区别?

原理对比

  • 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的第二次启动是会有缓存的。

未完...

你可能感兴趣的:(JavaScript常见面试题:Vite 跟 Webpack的区别?)