vite比webpack快的原因

本文探讨了Webpack与Vite两种不同的开发模式,前者先打包后启动,而Vite实现实时编译。文章还强调了ESModules在浏览器中的使用和预构建依赖的优势,以及Vite在热更新方面的优化特性。
摘要由CSDN通过智能技术生成

不同的开发模式:

开发环境中,webpack是所有的模块先打包再启动开发服务器的,这会增加构建时间和启动时间

vite是直接启动开发服务器的,在请求模块时再按需进行实时编译

充分利用现代浏览器的 ES Modules支持:

浏览器本身支持ES Modules,会主动发起请求去获取所需文件。

vite利用这点将开发环境下的模块文件直接作为浏览器要执行的文件

webpack是先打包,再交给浏览器执行

扩展:什么是ES Modules

通过使用export和import语句,ES Modules允许在浏览器端导入和导出模块

主流浏览器均支持ES Modules,可以通过在script标签中设置type="module"来加载模块。默认情况下,模块会延迟加载,执行时机在文档解析之后,触发DOMContentLoaded事件之前。

使用更高效的底层语言:

webpack是基于node.js构建的,node.js是毫秒级别的

vite是基于esbuild进行预构建依赖,esbuild是采用go语言编写的,go是纳秒级别的

扩展:什么是预构建依赖

是在项目启动或构建之间,对项目中所需的依赖项进行预先的处理或构建。

好处:在项目运行时,可以直接使用已经预构建好的依赖,不需要再进行实时的编译或构建

优化热更新:

webpack中,当一个模块或其依赖的模块内容改变时,会重新编译这些模块

vite中当一个木块内容改变时,只会让浏览器重新请求该模块即可

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值