不包括标准库的babel polyfills

时间:2019-08-20 17:09:25

标签: typescript webpack babeljs babel-polyfill

使用babel和webpack将TS项目绑定到es5时,我们会看到

等标准字符串方法的polyfills

String.replaceString.matchString.split

$ Added following core-js polyfill:
  es.array.join { "ie":"11" }

$ Added following core-js polyfills:
  es.string.replace { "edge":"17", "firefox":"67", "ie":"11", "ios":"12", "safari":"12.1", "samsung":"9.2" }
  es.string.split { "edge":"17", "ie":"11" }

根据MDN和其他受信任兼容性表的兼容性图表,所有这些平台均完全支持这些方法。但是,巴别塔为什么要为它们添加塑料填充物仍然是我们的问题。

是否可以通过babel config禁用这些标准方法的polyfill?下面是我们的babel配置,如果我们缺少某些内容,请提示我们。

const presets = [
  [
    '@babel/env', // Using babel preset-env
    {
      debug: true, // Disabling debug output in console
      targets: {
        browsers: ['> 1%', 'not dead', 'not ie < 8'], // Spit code for all browsers with usage > 1% and not dead.
      },
      useBuiltIns: 'usage', // Use polyfills for runtime feature support
      corejs: 3, // Use core-js 3 Polyfills.
    },
  ],
];

const plugins = [
  '@babel/plugin-transform-runtime', // Use Babel helpers to prevent code bloating with helpers
];

module.exports = { presets, plugins };

0 个答案:

没有答案