位置: IT常识 - 正文

vue项目系统兼容IE浏览器问题以及解决方案(vue怎么做兼容)

发布时间:2024-01-05
vue项目系统兼容IE浏览器问题以及解决方案 系统兼容IE浏览器问题以及解决方案问题

推荐整理分享vue项目系统兼容IE浏览器问题以及解决方案(vue怎么做兼容),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue项目中遇到的兼容问题,vue项目兼容ie11,vue3.0 兼容性,vue2兼容,vue项目中遇到的兼容问题,vue项目兼容性问题,vue 兼容,vue项目中遇到的兼容问题,内容如对您有帮助,希望把文章链接给更多的朋友!

vue项目在IE浏览器上运行时会出现兼容性问题:JavaScript语法报错,css样式错乱。原因是在IE(以IE11为例)浏览器下,部分js的写法需要改变,部分样式在IE浏览器上不支持,以及一些IE浏览器特有的问题。

vue 只兼容ie8以上版本;

IE 不兼容 axios的promiss对象;

IE 不兼容es6语法;

解决方案

下载对应插件包解决js兼容性问题:babel-polyfill,es6-promise以及 babel-plugin-transform-es2015-modules-commonjs

一、关于babel-polyfill

1、说明:This will emulate a full ES2015+ environment and is intended to be used in an application rather than a library/tool. This polyfill is automatically loaded when using babel-node.(模拟ES2015以上的环境,主要用于对ES6新语法不支持的浏览器);

2、安装:npm install --save babel-polyfill;

3、配置:module.exports = { entry: [“babel-polyfill”, “./src/main.js”] };

vue项目系统兼容IE浏览器问题以及解决方案(vue怎么做兼容)

4、main.js中配置:import ‘babel-polyfill’ //放在最顶部,确保全面加载

二、关于es6-promise

1、说明:若在项目中使用了ES6 promise对象,它在Chrome、Safari浏览器下可以正常运行,但在360兼容模式、IE内核中不支持;

2、安装:npm install es6-promise;

3、配置:在main.js中加入require(‘es6-promise’).polyfill(),用于在node或浏览器中支持ES6 与CommonJS。

因为项目中require和import混用的原因,在做了IE兼容之后打包会出现问题,会报以下错误:

Cannot assign to read only property 'exports' of object '#<Object>'

此时就需要安装babel-plugin-transform-es2015-modules-commonjs插件来解决报错

先安装:

npm install --save-dev babel-plugin-transform-es2015-modules-commonjs

然后再 .babelrc 中添加该插件

"plugins": ["transform-es2015-modules-commonjs"]

安装完以上插件之后,还需要做相关配置的修改,具体操作如下:

vue.config.js文件chainWebpack方法中添加

config.entry.app = ["babel-polyfill", "./src/main.js"];config.module.rule('compile') .test(/\.js$/) .include .add(resolve('src')) .add(resolve('test')) .add(resolve('node_modules/webpack-dev-server/client')) .add(resolve('node_modules')) .end() .use('babel') .loader('babel-loader') .options({ presets: [ ['@babel/preset-env', { modules: false }] ] });

babel.config.js中对应修改,添加sourceType和useBuiltIns:

module.exports = { presets: [ // '@vue/cli-plugin-babel/preset', //文件原始内容 ['@vue/app', { useBuiltIns: 'entry', //添加的内容 }] ], sourceType: 'unambiguous'}

main.js中代码顶部加入对应引用:

import 'babel-polyfill'import Es6Promise from 'es6-promise'require('es6-promise').polyfill()Es6Promise.polyfill()Plain Text

以上就是处理IE浏览器js兼容问题,至于css样式兼容,则需要对应修改对应文件样式,在IE浏览和chrome浏览器上分别测试,两边都适配才可以。

本文链接地址:https://www.jiuchutong.com/zhishi/287065.html 转载请保留说明!

上一篇:YOLOv5源码逐行超详细注释与解读(7)——网络结构(2)common.py(yolo 源码)

下一篇:富贵竹怎么养(富贵竹怎么养才能更旺盛水培生根)

  • 什么是关税自主权
  • 资本公积怎么核实
  • 开具红字专用发票的条件
  • 小规模减免税款的账务处理
  • 银行内部利息支出
  • 单位交的社保明年能退吗
  • 一般纳税人开红票怎么处理
  • 小规模收到房租专票进项做账分录
  • 吊车租赁可以开6个点专票吗
  • 单位缴纳的社保在哪里查询
  • 管理费抵扣如何计算
  • 汽修店的服务项目有哪些
  • 收到合同款
  • 销售旧货时的售后是什么
  • 公司承担了个人社保如何入账
  • 收到的专票都必须开吗
  • 不是房屋产权人可以卖房吗
  • 含税价标志有无影响
  • 本金和利息分别出具借条
  • 代理运费进项税额抵扣
  • 付工程款现金怎么做凭证?
  • 小规模纳税人0税率
  • 企业或公司的证明怎么弄
  • 免税单位出租房产如何缴纳房产税
  • 销售净利率怎么分析盈利能力
  • 电商运费怎么做账
  • 开红字专用发票记账时摘要怎样写?
  • php日期差
  • PHP:mb_decode_mimeheader()的用法_mbstring函数
  • 合作社实际没有自产自销,但税务方面怎么可以提供证明
  • 筹建期间费用计入什么
  • PHP:stream_context_get_options()的用法_Stream函数
  • 股权交易的重要性
  • unity导出webgl报错
  • 除了正式发票还有啥
  • 某建筑公司因施工期紧迫,事先未能与有关
  • 外籍个人取得的现金住房补贴所得免征个人所得税吗
  • 微信开发获取位置
  • php同时使用session和cookie来保存用户登录信息的实现代码
  • 如何查询数据库表空间
  • 伪类的常见类型
  • chage -l命令
  • 罚款是否需要开证明
  • 个税专项附加扣除具体怎么操作
  • 注解注入
  • 织梦网站特有标识
  • 怎么确定应付账款的完整性
  • 营业收入净额是销售收入净额吗
  • 土地增值税的预征和清算
  • 营业成本利润率行业均值
  • 结转资金和结余资金的含义
  • 参展费会计分录
  • 冲暂估成本能冲部分暂估吗
  • 私营公司应付利息怎么算
  • 债权人接受债务人土地抵押,还会被其他债权人查封?
  • sql server数据库版本
  • sql数据库分布式部署
  • 苹果15手机价格和图片颜色
  • p2p是什么文件
  • centos作用
  • win7把声音设备禁用了怎么要回来
  • 基于linux的mplayer音乐播放器
  • windows8ip地址怎么设置
  • android framework.jar
  • 判断输入的日期是一年中第几天
  • 我为什么要
  • 消耗cpu的软件
  • easyui 表单提交
  • Android之Broadcast与BroadcastReceiver
  • pythontrutle
  • javascript中的this属性
  • jquery event
  • comparable接口怎么用
  • 广东税务怎么查社保缴费明细
  • 海关进口增值税如何入账
  • 小汽车都交消费税吗
  • 如何当好一名税务局长
  • 中建七局企业精神是什么
  • 南川大观薰衣草花期
  • 企业所得税年报什么时候开始申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号