Babel与Core-JS-Polyfills与IE11不兼容

我已经用webpack配置了babel,最初使用@ babel / polyfill作为webpack配置中的一个条目。通过这种配置,我可以在IE11中运行我的Web应用程序而没有任何错误。由于不推荐使用@ babel / polyfill,因此我尝试使用core-js,这是我的问题开始的地方。 IE11现在给我一个关于webpack:///node_modules/core-js/modules/es.object.set-prototype-of.js文件的错误:

  

SCRIPT1002:语法错误

脚本本身如下所示:

Babel与Core-JS-Polyfills与IE11不兼容

据我了解,core-js不应该包含在要翻译的babel-loader中,但是在我看来,上面显示的脚本使用的是IE11无法理解的功能。我在这里想念什么?

当前配置如下:

Babel-loader

{
  test: /\.js$/,exclude: /node_modules/,loader: 'babel-loader',options: {
    configFile: './.babelrc',},}

.babelrc

{
  "sourceType": "unambiguous","presets": [
    [
      "@babel/preset-env",{
        "useBuiltIns": "usage","corejs": {"version": 3,"proposals": true}
      }
    ]
  ]
}

package.json

 "browserslist": [
    "defaults"
 ]

我还从webpack条目和程序包管理器中删除了@ babel / polyfill,而是安装了core-js。

lisagaga111 回答:Babel与Core-JS-Polyfills与IE11不兼容

尝试删除“排除”选项以查看是否为npm模块。 然后,您可以尝试排除除该模块以外的所有模块。 您可以看到@ babel / preset-env受选项'debug'影响的模块,如下所示(在文件.babelrc中):

 {
  "sourceType": "unambiguous","presets": [
    [
      "@babel/preset-env",{
        "useBuiltIns": "usage","corejs": {"version": 3,"proposals": true},"debug": true
      }
    ]
  ]
}

要仅排除出现错误的模块,可以执行以下操作:

    exclude: /node_modules\\(?!(module_to_include|other_module_to_include)).*/,

查看是否 https://github.com/babel/babel-loader/issues/171有帮助

本文链接:https://www.f2er.com/3139543.html

大家都在问