不需要装babel-polyfill!
首先说前置条件:
- 使用的Vue Cli 4.x 创建的项目
package.json
里面的devDependencies
节点中的@vue/cli-plugin-babel
版本是4.x
- 装了
babel-polyfill
请卸载掉npm uninstall babel-polyfill
,因为@vue/cli-plugin-babel
里面已经包含了这个玩意 - vuejs的版本是2.x
然后可以看官方文档了:浏览器兼容性 | Vue CLI
解决方案:
1.package.json
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
2.vue.config.js,
如果该依赖基于一个目标环境不支持的 ES 版本撰写: 将其添加到 vue.config.js
中的 transpileDependencies 选项。这会为该依赖同时开启语法转换和根据使用情况检测 polyfill。
具体可以参考官方文档 浏览器兼容性 | Vue CLI (vuejs.org)
这里transpileDependencies我是把我自认为dependencies中可能需要进行转码的依赖放进来
module.exports = {
transpileDependencies: [
"bpmn-js-task-resize",
"bpmn-js-token-simulation",
"highlight.js",
"min-dash",
"x2js",
"xml-js",
],
}
3.babel.config.js
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
}