最近修改项目的兼容性,项目测试ie11兼容性时发现axios会提示promise未定义,在chrome下完全没毛病,怎么去到ie11就报promise未定义了呢?

翻了一轮axios的文档终于发现问题原因。

在ie11下直接使用axios会报Promise未定义,这是因为axios本质上是封装了ES6语法的promise,而promise在IE上并不兼容。

这时只需要引入babel-pollfile就行了。babel-Polyfill相当于一个ES6的兼容垫片, 它会仿效一个完整的ES2015+环境,从而让某些浏览器也能读懂。

npm install --save babel-polyfill

然后在main.js的顶部引入import "babel-polyfill"; 最好给它最优先加载。

随后在build目录下webpack.config.js(如果你是vue-cli项目的话那就是build目录下webpack.base.conf.js)设置app载入babel-polyfill。

module.exports = {

    entry: {

            app: ["babel-polyfill",'./src/main.js']

    }

添加完之后,刷新一下浏览器,promise未定义就消失啦!

babel-polyfill官网https://babeljs.io/docs/en/babel-polyfill/



作者:Elivs_欧元
链接:https://www.jianshu.com/p/33e5ec794d9a
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。


比较好的IT学习资讯类网站!http://hongsehuoxian.com
看到这里如果这篇文章真的帮到你了,不妨打赏一下哦!

以上就是红色火线JAVA加油站整理的关于axios在ie浏览器下提示promise未定义的文章,
希望可以帮到你,如果你有不同的见解可以留言指正哦,避免让别的java小伙伴在走挫折路。
js去重
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

分享:

支付宝

微信