一文带你掌握Vite 处理 Polyfill,从此大佬就是你
处理 掌握 一文 就是 大佬 vite 从此
2023-06-13 09:18:49 时间
当你吭哧吭哧完成业务开发,提交测试进入业务测试后,当测试人员跟你说"安卓手机白屏、ios白屏",内心是不是崩溃的。
移动端产生白屏的原因大概率是JS高版本语法在低版本浏览器上不支持,例如:Promise.allSettled、Object.fromEntries、... ,那这种问题怎么处理呢。
- 如何才能知道,JS语法的兼容性呢 通过can i use 查看JS/CSS语法,不兼容的浏览器版本
- Promise.allSettled
- Object.fromEntries
前端有很多构建工具 gulp、rollUp、weback、vite, 无论哪种构建工具,最终都是通过babel将高版本语法转换为低版本语法。
以下vite、webpack解决此类问题的方法
1.vite
虽然vite也可以通过babel的配置文件来解决这类问题,但vite好像更推荐插件 @vitejs/plugin-legacy 来解决问题。
// ...other config
legacyPlugin({
targets: ['Chrome > 70', 'Safari 12.1', 'ios >= 12.3'],
renderLegacyChunks: true,
polyfills: ['es.promise.all-settled', 'es.object.entries'],
modernPolyfills: ['es.promise.all-settled', 'es.object.entries']
}),
// ...other config
2.webpack
webpack解决这类的方式,很简单,就是配置babel.config.js(当然也可以配置.babel.rc)
module.exports = {
plugins: [
// ...other plugins
'@babel/plugin-transform-runtime',
'@babel/plugin-proposal-nullish-coalescing-operator',
'@babel/plugin-proposal-optional-chaining'
]
}
最后
此类文档会持续更新
重点段落
相关文章
- H5-Canvas实战-合成任意数量图片文字-函数封装处理
- ORA-40228: scoring cost matrix already exists ORACLE 报错 故障修复 远程处理
- ORA-48487: The internal predicate string exceeds the maximum length [string] ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-010151; Symbol: ER_LOG_OUTPUT_CONTRADICTORY; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010940; Symbol: ER_PERFSCHEMA_COMPONENTS_INFRASTRUCTURE_BOOTSTRAP; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011281; Symbol: ER_CONN_CONTROL_STAT_CONN_DELAY_TRIGGERED_RESET_FAILED; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011483; Symbol: ER_GRP_RPL_CANT_READ_WRITE_SET_ITEM; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-07222: slspool: line printer spooler command exited with an error. ORACLE 报错 故障修复 远程处理
- ORA-09709: soacon: failed to accept a connection. ORACLE 报错 故障修复 远程处理
- ORA-13337: failure in concatenating LRS polygons ORACLE 报错 故障修复 远程处理
- ORA-16629: database reports a different protection level from the protection mode ORACLE 报错 故障修复 远程处理
- 快速掌握Linux批量处理脚本(linux批量脚本)
- Oracle 日期处理:精准掌握日期范围(oracle日期范围)
- MongoDB数据轻松处理,掌握平均值计算方法(mongodb平均值)
- 精通Linux文件处理命令,掌握数据管理能力(linux 文件处理命令)
- SQL Server列函数:掌握数据表处理技巧(sqlserver列函数)
- 解读MySQL中Date格式,掌握日期处理方法(mysql中date格式)
- MySQL与日期掌握日期函数让你轻松处理数据(mysql yu日期)
- Oracle中处理空格字符串的有效方式(oracle中空格字符串)