无法使用 babel.config.js 排除带有 vue-cli 4 的 core-js polyfill

问题描述

我正在尝试使用 babel.config.js 从 core-js 中排除 web.url polyfill,如下所示

module.exports = {
  presets: [
    "@vue/cli-plugin-babel/preset",{
      exclude: ["web.url"]
    }
  ]
};

这不起作用,exclude 参数永远不会到达 babel-preset-app/index.js(通过在那里添加调试日志进行测试,它显示 exclude 是一个空数组)。没有显示错误并且 polyfill 被添加到构建的包中(通过 --report 参数可见)

如果我手动破解原来是 babel-preset-app/index.js L216

exclude: polyfills.concat(exclude || []),

exclude: polyfills.concat(exclude || ["web.url"])

则排除生效。

所以我的问题是:是否有可能(如果有的话如何?)配置 vue-cli-plugin-babel 以将 exclude 参数传递给 babel-preset-app ? vue-cli-plugin-babel 文档中并没有真正涵盖它,core-js/babel 文档告诉您我使用的 babel.config.js 语法应该可以正常工作。

我使用的版本 -

vue-cli: 4.5.8
"@vue/cli-plugin-babel": "~4.5.0"
"core-js": "^3.6.5"

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)