本以为兼容设置只需要一句import '@babel/polyfill'
,想来还是太年轻。按照网上的方案总是无法解决,应该是vue-cli升级后造成的。
现在总算搞定了,现给出我自己的方案,共四项设置:
安装 @babel/polyfill
npm install @babel/polyfill --save-dev
在入口文件main.js 第一行引入
import '@babel/polyfill'
设置 babel.config.js
module.exports = {
presets: [
['@vue/app', {
useBuiltIns: 'entry'
}]
]
}
设置 browserslist
在package.json 中设置,或者在 .browserslistrc
文件中设置
"browserslist": [
"> 1%",
"last 2 versions",
"IE 11",
"IE 10"
]
设置 transpileDependencies
在 vue.config.js
设置, 该项不是必须的,要看你的项目中是否引用第三方 es6+
的插件。很不幸,我的项目中有一个,所以我的设置是:
module.exports = {
publicPath: './',
transpileDependencies: ["load-script-promise"]
}
再说两句
以上设置,稍微有点点麻烦,也是不停查资料摸索出来的。
在我的项目中,上述步骤缺一不可。
不一定对所有人有所帮助,提供一个参考吧。