vite使用初体验

根据业务需要,带着以下问题尝试切换打包工具从 webpack 到 vite

1, vite 集成 babel 了吗?能不能支持 old 浏览器?

2,是否支持 build 后的文件不带 hash?

3,开发环境 devserver 能不能支持请求代理转发?

4,HMR 是否比 webpack 好用?

5,适用广度?是否支持 ssr?

问题 1

Vite 对浏览器的默认支持基线是基于浏览器对 Native ESM 的支持。

ESM浏览器支持

默认对 IE11 和部分 android 浏览器不支持,但是 vite 可以利用 Rollup 插件的强大生态系统,想要支持上述浏览器只需要引入 Rollup 插件@vite/plugin-legacy

需要注意一下引入这个插件打包后的体积会增加80%左右。

综上,使用 @vite/plugin-legacy 插件可以支持不支持 ESM 的浏览器。

问题 2

根据业务需要,我们的静态资源在构建后会生成新的版本号,在 node 模板服务中会请求该版本号,达到实时更新资源的目的,所以我们打包的静态资源希望不带 hash。

使用vite rollupoptions可以自定义 rollup 打包规则,最终会和 vite 内置的打包规则 merge。通过配置rollup outputentryfilenames实现了打包资源不带 hash。

问题 3

vite 的 server options 完全支持配置 proxy,底层和 webpack 一样是使用 http-proxy.

问题 4

根据 vite 官网描述,服务启动基于原生的 ESM,不用打包,号称 instant server start. 在实际的使用中,server 启动在 600ms 左右。官网号称 Lightning Fast HMR,光速 HMR,实际使用中在修改代码之后没有感觉 HMR 有时间的消耗,但是有个小瑕疵,在 HMR 之后浏览器的 console 没有清空具体看这个issue

问题 5

根据官网的信息对 ssr 的支持还在试验阶段。

根据[Why we switched from Webpack to Vite](为什么切换webpack到vite)

vite 的作者描述,vite 不是完全用来替换 webpack 的,一小部分 webpack 的长尾特性 vite 没有包含,所以 vite 解决的是大多数前端开发遇到的开发和构建的问题。所以作者建议先用一下,能用就用,不能用你就接着用 webpack 完全是没有问题的。

代码实例:vite build react

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值