为什么babel-node CLI似乎包含所有变压器?

时间:2015-09-07 14:37:15

标签: babeljs

babel-node似乎包括所有变形金刚(尚未验证),包括应该是可选的变形金刚。

我不希望这样。我只想要默认功能。我现在正在做的是blacklist我不想要的可选变换。

怎么了?我在这里错过了什么吗?网站上的文档是错误的还是过时的?

1 个答案:

答案 0 :(得分:0)

这个答案将假设使用Babel 6,其中es2015是最常用的预设,对于更好或最差的确包括babel-plugin-transform-es2015-modules-commonjs。

我会给你三种解决方法:

  1. 这是最简单的安装babel-preset-es2015-native-modules并配置你的.babelrc:
  2. {
      "presets": ["es2015-native-modules"], 
    }

    1. 您可以安装babel-preset-es2015并像这样配置.babelrc以禁用插件:
    2. {
        "presets": ["es2015"],
        "disablePlugins": ["babel-plugin-transform-es2015-modules-commonjs"]
      }

      1. 手动安装所有变换减去modules-commonjs然后像这样配置.babelrc:
      2. {
          plugins: [
                    'transform-es2015-template-literals',
                    'transform-es2015-literals',
                    'transform-es2015-function-name',
                    'transform-es2015-arrow-functions',
                    'transform-es2015-block-scoped-functions',
                    'transform-es2015-classes',
                    'transform-es2015-object-super',
                    'transform-es2015-shorthand-properties',
                    'transform-es2015-computed-properties',
                    'transform-es2015-for-of',
                    'transform-es2015-sticky-regex',
                    'transform-es2015-unicode-regex',
                    'check-es2015-constants',
                    'transform-es2015-spread',
                    'transform-es2015-parameters',
                    'transform-es2015-destructuring',
                    'transform-es2015-block-scoping',
                    'transform-es2015-typeof-symbol',
                    ['transform-regenerator', { async: false, asyncGenerators: false }],
          ],
        }