我正在使用 URLSearchParams
在我的应用程序中。代码被转译为 babel
, 使用 babel/preset-env
和 core-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
以某种方式包含 URLSearchParams
来自 core-js 的 polyfill?
最佳答案
由于我在这个问题上获得了赞成票,因此我也应该在这里添加我的答案。
我的问题是我添加了 @babel/polyfill
在我的 webpack 配置中的入口点旁边:
{
entry: {
"my.js": ["@babel/polyfill", "my.js"]
}
}
为了解决我的问题,我删除了
@babel/polyfill
从入口点开始,而是将以下内容添加到 my.js
的顶部:import "core-js/stable";
import "regenerator-runtime/runtime";
关于babeljs - 如何配置 babel/preset-env 以包含 core-js URLSearchParams polyfill?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56991531/