IE浏览器报Promise未定义的错误、解决vuex requires a Promise polyfill in this browser问题

时间:2023-01-01 09:18:51

  一个vue-cli构建的vue项目,一个使用angular的项目,两个项目在其他浏览器一切正常,但是ie中会报Promise未定义的错误

解决办法:

一、vue的项目:

  1、npm install babel-polyfill --save

  2、在main.js中 import "babel-polyfill"

  3、如果使用了vuex,则在vuex的index.js文件中也要  import "babel-polyfill",最好放在 import Vuex from 'vuex' 的前面

  4、在build目录下webpack.base.conf.js原module.exports的entry修改为下面这样

entry: {
app: ['babel-polyfill', './src/main.js']
},

二、angular的项目:

  这个项目比较老,都是采用文件引入的方式,所以用import的方式会报错,这里解决办法:

  1、npm install babel-polyfill --save

  2、从  node_modules  文件夹下找到 _babel-polyfill@6.26.0@babel-polyfill  (名字根据版本号改变)下的  dist  中  polyfill.min.js ,  将其拷贝到一个文件夹中,我这里是babel-polyfill

  3、在引入文件的index.html中引入即可,  <script src="/babel-polyfill/polyfill.min.js" type="text/javascript"></script>