为了账号安全,请及时绑定邮箱和手机立即绑定

vue-cli 3.x 在IE11 报错 问题

vue-cli 3.x 在IE11 报错 问题

撒科打诨 2019-05-10 15:38:39
问题描述IE11下报如下错误:[vuex]vuexrequiresaPromisepolyfillinthisbrowser.问题出现的环境背景及自己尝试过哪些方法开发一直在chrome下没有发现出问题,今天在ie下测试发现报了兼容性错误,类似symbol不存在的错于是就在项目中尝试添加polyfill根据官方文档://babel.config.jsmodule.exports={presets:[['@vue/app',{polyfills:['es6.promise','es6.symbol']}]]}这里有个坑!!presets:[[]],两个括号..然后就出现了这个错误:[vuex]vuexrequiresaPromisepolyfillinthisbrowser.然后翻了StackOverflow和vue-cligithubissue发现vue-cliissue这个issue跟我遇到的问题差不多,有两个解决方案:1.vue-class-component的问题vuejs/vue-class-component#283暂时先回退vue-class-component到6.2.0可以解决问题2.Fixedinvue-class-componentv6.3.2然后我很懵逼,这个vue-class-component包怎么才能升级或回退呢.我找遍整个项目都没有找到这个包~~然后又找到这个issue解决方案是添加import"es6-promise/auto"尝试后依然无效..最后尝试升级"@vue/cli-plugin-babel":"^3.1.1",依然没有解决问题!还有一个解决方案是:entry:{app:["babel-polyfill","./src/main.js"]}这个项目是用的vue-cli3构建的多页应用,总不能在没个入口都配置一遍吧...我最终妥协了,为每个页面入口都配置了:{entry:['@babel/polyfill','xxx/index.js']结果被无情的拒绝:TypeError[ERR_INVALID_ARG_TYPE]:The"path"argumentmustbeoftypestring.Receivedtypeobject我现在很绝望...
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

//babel.config.js
module.exports={
presets:[
['@vue/app',{
polyfills:[
//promisepolyfillalonedoesn'tworkinIE,
//needsthisaswell.see:#1642
'es6.array.iterator',
//thisisrequiredforwebpackcodesplitting,vuexetc.
'es6.promise',
//#2012es6.promisereplacesnativePromiseinFFandcausesmissingfinally
'es7.promise.finally'
'es6.symbol'
]
}]
]
}
                            
查看完整回答
反对 回复 2019-05-10
  • 2 回答
  • 0 关注
  • 4536 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信