@babel/preset-env 和 @babel/plugin-transform-runtime 的区别

使用 @babel/preset-env,就不再需要使用 plugins: ["@babel/plugin-transform-runtime"] 插件了么?

module.exports = function(api) {
  api.cache(true)

  const presets = [
    [
      '@babel/preset-env',
      {
        debug: false,
        useBuiltIns: 'usage',
        corejs: 3,
        modules: false
      }
    ]
  ]
  const plugins = [
    // ['@babel/plugin-transform-runtime', { corejs: 3 }],
    '@babel/plugin-syntax-dynamic-import',
    ['@babel/plugin-proposal-class-properties', { loose: true }],
    '@babel/plugin-proposal-export-namespace-from',
    '@babel/plugin-proposal-export-default-from'
  ]

  return {
    presets,
    plugins,
    comments: false
  }
}

这样写代打包后的代码小很多

module.exports = function(api) {
  api.cache(true)

  const presets = [
    [
      '@babel/preset-env',
      {
        debug: false,
        useBuiltIns: 'usage',
        corejs: 3,
        modules: false
      }
    ]
  ]
  const plugins = [
    ['@babel/plugin-transform-runtime', { corejs: 3 }],
    '@babel/plugin-syntax-dynamic-import',
    ['@babel/plugin-proposal-class-properties', { loose: true }],
    '@babel/plugin-proposal-export-namespace-from',
    '@babel/plugin-proposal-export-default-from'
  ]

  return {
    presets,
    plugins,
    comments: false
  }
}

添加 plugin-transform-runtime 后代码多 100多k

是不是 @babel/preset-env 和 plugin-transform-runtime 用一个就可以?

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题