如何配置 babel/preset-env 以包含 core-js URLSearchParams polyfill?

How can I configure babel/preset-env to include core-js URLSearchParams polyfill?

我正在我的应用程序中使用 URLSearchParams。代码使用 babel 转译,使用 babel/preset-envcore-js@3 包含我的目标浏览器所需的 polyfill。

这是我的 babelrc:

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "modules": false,
        "corejs": "3",
        "useBuiltIns": "entry",
        "forceAllTransforms": true
      }
    ]
  ]
}

这是我的 .browserslistrc:

IE 11
Edge >= 14
last 2 Chrome versions
last 2 Firefox versions

问题是,即使我在 .browserslistrc 中指定了 IE11,URLSearchParams 的 polyfill 仍未包含在最终包中。到目前为止,我已经通过手动导入 core-js/web/url-search-params.js 解决了这个问题,但我更希望由 babel/preset-env.

自动完成

我可以配置 babel/preset-env 以某种方式包含来自 core-js 的 URLSearchParams polyfill 吗?

因为我在这个问题上得到了赞成票,所以我可能也应该在这里添加我的答案。

我的问题是我在我的 webpack 配置中的入口点旁边添加了 @babel/polyfill

{
  entry: {
    "my.js": ["@babel/polyfill", "my.js"]
  }
}

为了解决我的问题,我从入口点删除了 @babel/polyfill,而是将以下内容添加到 my.js 的顶部:

import "core-js/stable";
import "regenerator-runtime/runtime";