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

未完...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。