位置: IT常识 - 正文

vue对于低版本浏览器兼容问题(vue浏览器版本)

发布时间:2024-01-03
vue对于低版本浏览器兼容问题 准备

推荐整理分享vue对于低版本浏览器兼容问题(vue浏览器版本),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue兼容低版本浏览器,vue最低兼容,vue低版本浏览器下载没有csv文件后缀,vue兼容低版本浏览器,vue兼容支持的ie浏览器的最低版本,vue低版本浏览器限制,vue低版本浏览器限制,vue低版本浏览器下载没有csv文件后缀,内容如对您有帮助,希望把文章链接给更多的朋友!

由于采用了vite3而不是vue-cli,所以以前的很多兼容方式都不能做。接下来就看一下vite是怎么做到低版本兼容的问题。

工具库

@vitejs/plugin-legacyds 官方唯一指定的兼容工具库,使用方式官网都有了

进阶使用问题例子

虽然有些确实是兼容了低版本,但是,有些工具库利用了些新的特性,页面还是报错。

比如下面这个在低版本手机的报错,例子是我们这个框架中,去掉modernPolyfills:['es.array.flat-map','es.object.values'],的兼容性:

[Vue warn]: Unhandled error during execution of watcher callback at <VanConfig> at <App>[Vue warn]: Unhandled error during execution of setup function at <VanConfig> at <App>Uncaught TypeError: Object.values(...).flatMap is not a function\n\t/viteTest/assets/index.44986ed0.js:46:12228\nTypeError: Object.values(...).flatMap is not a function at getSSRHandler (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12228) at A (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12422) at Object.onChanged (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:13520) at x (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12476) at callWithErrorHandling (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:1576) at callWithAsyncErrorHandling (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:1698) at I (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:17067) at doWatch (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:17371) at watch (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:15741) at useColorMode (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12503)[Vue warn]: Unhandled error during execution of watcher callback at <VanConfig> at <App>[Vue warn]: Unhandled error during execution of setup function at <VanConfig> at <App>[Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core at <VanConfig> at <App>[Vue Router warn]: uncaught error during route navigation:{}Uncaught (in promise) {"name": "TypeError", "message": "Object.values(...).flatMap is not a function", "stack": "TypeError: Object.values(...).flatMap is not a function\n at getSSRHandler (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12228)\n at A (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12422)\n at Object.onChanged (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:13520)\n at x (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12476)\n at callWithErrorHandling (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:1576)\n at callWithAsyncErrorHandling (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:1698)\n at I (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:17067)\n at doWatch (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:17371)\n at watch (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:4:15741)\n at useColorMode (https://test.dongguantong.com.cn/viteTest/assets/index.44986ed0.js:46:12503)"}Unhandled promise rejection {}解决思路语法不支持Object.values(...).flatMap is not a functionvue对于低版本浏览器兼容问题(vue浏览器版本)

我们就可以从中推断出,肯定是某个库,用了高级语法,然后低版本没兼容。因为在es6以上flatMap、Object.values都是支持的,但是我们目前不知道哪个有。

具体哪个使用了哪个库不支持

然后又根据

[Vue warn]: Unhandled error during execution of watcher callback at <VanConfig> at <App>

可以确认,就是我们自己些的VanConfig组件有某个库不被支持了

然后我们点进去,这个库其实就只是应用到了vueUse中的useDark。

我们查历史可以得知,在安卓6左右,是没有暗黑模式这个概念的。我们把这个useDark组件去掉,再打包。重新打开,我们就确实能够在低版本手机中看到了

兼容语法

但是把某个库或者某个功能去掉,肯定是下下策,最好还是能够语法兼容。

查阅文档,其中有2个专门将高级语法转换的,是polyfills和modernPolyfills。根据文档,我们可以得知,手动将高级语法转换的方式是这样

import legacy from '@vitejs/plugin-legacy'export default { plugins: [ legacy({ polyfills: ['es.promise.finally', 'es/map', 'es/set'], modernPolyfills: ['es.promise.finally'] }) ]}

但文档写得不是很好,没有具体说明polyfills和modernPolyfills的关系,我还是建议2个都写得一样。 具体有哪些可以设置的值,就是这2个仓库的值

https://unpkg.com/browse/core-js@3.26.0/https://github.com/zloirock/core-js/tree/master/packages/core-js

根据报错,是少了'es.array.flat-map'和'es.object.values',加上去

legacy({ //babel,兼容老浏览器,但是体积会大80% // targets: ['defaults', 'not IE 11'] targets: ['chrome 52'], additionalLegacyPolyfills: ['regenerator-runtime/runtime'], renderLegacyChunks: true, modernPolyfills:[ 'es.array.flat-map', 'es.object.values' ], polyfills: [ 'es.object.values', 'es.array.flat-map' ] })
本文链接地址:https://www.jiuchutong.com/zhishi/283314.html 转载请保留说明!

上一篇:文竹发黄怎么挽救(图文)(文竹发黄怎么挽救?)

下一篇:netddeclnt.exe - netddeclnt是什么进程 有什么用

  • 成本利润率和销售利润率哪个大
  • 增值税怎么做账务处理
  • 高新技术企业三级领域
  • 个人劳务费的免税政策
  • 财务会计制度备案操作流程
  • 其他应收款重分类
  • 账面现金可以转出吗
  • 物料损失怎么入账
  • 电汇凭证的日期为什么必须是当天
  • 公司购买车辆抵扣税
  • 银行存款缴纳所得税费用会计分录
  • 自产农产品免征增值税
  • 按价格从价缴纳增值税
  • 企业所得税工资薪金支出怎么填
  • 固定资产折旧的影响因素
  • 无效产权转移的契税需要征收吗
  • 收到加工劳务发票怎么做
  • 知识产权投资是什么意思
  • 企业购买用于绿化的土地
  • 收取员工宿舍租金收入要交增值税吗
  • 增值税专用发票可以开电子发票吗
  • 7月3日事业单位
  • 普通征税差额征税减按征税
  • 某运输企业以客运,货运划分
  • 营业外支出调减应该填在纳税调整项目明细表哪一项
  • 多计提的费用怎么调整
  • 子公司注销后人员怎么安置
  • 电厂采购通常采购什么
  • 外籍人员探亲签证
  • 外籍人员工资个税
  • 基地建设费归哪个会计科目
  • win11右下角时间设置
  • 解决口苦最快的方法
  • pow是什么意思中文翻译
  • 应交税费应交增值税转出未交增值税是什么意思
  • php数组函数输出《咏雪》里有多少"片"字
  • 进程lsass.exe
  • 增值税发票红字信息表
  • el-input value
  • thinkphp i方法
  • php对象缓存
  • 企业重组特殊性税务处理计税基础
  • 房地产预缴所得税怎么算
  • 企业工会注销怎么办理
  • vue3 安装
  • vue框架搭建步骤
  • cp命令使用
  • 应收账款坏账准备计提方法
  • python中类的属性
  • 资产负债表应交税费为负数
  • 发票普票增票
  • 受托加工的物资属于资产吗
  • sqlserver2012安装好了桌面没有图标
  • 小微企业免征增值税优惠政策
  • 合作社的资金来源
  • 收回投资收到的现金占比大说明
  • 税前减免
  • 物流费属于什么会计科目
  • 网上购物没有发票
  • 发票金额太大怎么办
  • 补记式余额调节法怎么写项目
  • mysql缩印
  • Mac OS10.11下mysql5.7.12 安装配置方法图文教程
  • 在Vista、Windows7下玩英雄无敌3绿色版
  • Windows Server core的便捷操作和远程管理
  • windowsserver2008密码规则
  • telnet root
  • vmware虚拟机安装Linux教程
  • win8系统无法开机如何备份数据
  • ubuntu左侧菜单不见了
  • linux使用cp
  • 借助竹子赞美人物气节的诗句有哪些
  • 明日之后白树高地怎么钓凤尾鱼
  • win10 固态
  • glsl 函数
  • javascript总结
  • prototype用法
  • web开发 java
  • unity资源库
  • 纳税人如何划分
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号