vue解决IE浏览器+360浏览器的兼容模式下白屏问题(promise未定义)的代价

1,998 阅读1分钟

【参看文章】blog.csdn.net/QQ_Empire/a…

vue项目在谷歌打开没有问题,在360和2345浏览器打不开,控制台报错:SCRIPT5009: “Promise”未定义,

原因是360、2345的内核和 IE 都是一根绳上的蚂蚱。

解决办法:
一、安装:   
npm install babel-polyfill --save-dev
二、在main.js中引入 
 import "babel-polyfill"
     (如果有用vuex在store中的index.js中也最好引入一下)
 

三、在build文件中的 webpack.base.conf.js 中的 entry对象中也添加一下
 
entry: {
    'babel-polyfill': 'babel-polyfill',
    app: './src/main.js'
  },
 

再重新打包一下即可打开。

但是出现两个问题:

  1. 性能受影响:打包更大,把babel-polyfill都打进去,只是为了兼容IE
  2. 控制台报错: Uncaught Error: only one instance of babel-polyfill is allowed

目前不知道如何解决:

  1. 可否只引入babel-polyfil用到的模块
  2. 不要说不管IE,GRD领导就用IE,你能咋办。