兼容性问题汇总
首先放上一张vue兼容性的图
vue项目于IE浏览器的兼容性问题(针对promise问题)
一,VUE项目一般会使用axios,而axios又是基于promise的,所以,IE任何版本都不支持(trident内核的全不行)
解决方案一:
/*ie兼容 Promise*/ isIE(); function isIE() { //ie? if ( !! window.ActiveXObject || "ActiveXObject" in window) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "/js/unity/bluebird.js"; document.getElementsByTagName('head')[0].appendChild(script); } } /*ie兼容 Promise end*/
解决方案二 (babel):
引入babel-polyfill,babel-polyfill相当于一个ES6的兼容垫片,会让浏览器读懂
1、终端输入命令:npm install --save babel-polyfill
2、在main.js文件的顶部引入 import "babel-polyfill"
3、在build目录下webpack.config.js文件设置入口改为如下
(如果你的项目用的是脚手架,在在build目录下webpack.base.config.js文件更改入口)
model.exports={ entry:{ app;["babel-polyfill",'./src/app.js'] } }
方案三:VueJS在IE中提示promise未定义的问题
//安装promise $ npm install es6-promise --save-dev 2. 引用并调用 在main.js文件: import promise from 'es6-promise' promise.polyfill()
https://blog.csdn.net/weixin_45276056/article/details/118969359