webpack优化篇(五十):使用动态 Polyfill 服务

说明

玩转 webpack 学习笔记

babel-polyfill 打包后体积占比大

babel-polyfill 打包后体积:88.49k,占比 29.6%

在这里插入图片描述

Promise 的浏览器支持情况

比如:promise 可以打开网址https://caniuse.com/查看
在这里插入图片描述

构建体积优化:动态 Polyfill

方案优点缺点是否采用
babel-polyfillReact 16 官方推荐1、包体积200k+,难以单独抽离Map、Set。2、项目里 react 是单独引用的 cdn,如果要用它需要单独构建一份放 react 前加载
babel-plugin-transform-runtime能只 polyfilI 用到的类或方法,相对体积较小不能 polyfill 原型上的方法,不适用于业务项目的复杂开发环境
自己写 Map、Set 的 polyfill定制化高、体积小1、重复造轮子,容易在日后年久失修成为坑;2、即使体积小,依然所有用户都要加载
polyfill-service只给用户返回需要的 polyfill,社区维护部分国内奇葩浏览器 UA 可能无法识别(但可以使用降级返回所需全部 polyfill)✔️

Polyfill Service原理

访问页面,发送请求,识别 User Agent,然后下发不同的 Polyfill

在这里插入图片描述

如何使用动态 Polyfill service

polyfill.io 官方提供的服务

在这里插入图片描述

基于官方自建 polyfill 服务

在这里插入图片描述

我们可以打开:https://polyfill.io/v3/polyfill.min.js

在谷歌浏览器打开的时候,返回如下:

在这里插入图片描述

在 iphoone 5/se 的情况下返回如下:
在这里插入图片描述

Polyfill service 问题

比如:国内的浏览器魔改会导致识别 User Agent 出现问题,这种情况可以降级使用全部返回的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凯小默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值