Есть ли способ использовать свободные модули при использовании ES2015 preset в babel 6?

Я попытался использовать следующие babelrcs:

{
  "presets": [
     ["es2015", { "transform-es2015-modules-commonjs": { "loose": true } }]
  ]
}

сбой с "недопустимым типом параметров для иностранных"

{
  "presets": ["es2015"],
  "plugins": [
    ["transform-es2015-modules-commonjs", { "loose": true }]
  ]
}

игнорирует опцию "loose"

{
  "plugins": [
     ["transform-es2015-modules-commonjs", { "loose": true }]
  ]
}

не использует предустановку

5 ответов


Я закончил создание пресета es2015-mod для этой же цели - точная копия Бабеля es2015 свободные модули включены.


включить es2015, вы просите модули non-loose-mode. Если вы хотите свободные режимы модуля в Babel v6 (по крайней мере, на данный момент), вам нужно будет явно перечислить плагины, которые вы хотите использовать, перечисляя все, что является частью es2015.


был осужден. С babel-preset-es2015 v6.13.0+, Теперь вы можете настроить свой .babelrc вот так:

{ presets: [ ["es2015", {"loose": true}] ] }


для меня это был старый babel-core версия. Вам нужно хотя бы 6.13+


NEW: использование es2015-loose preset

es2015-loose - это предустановка, которая использует modify-babel-preset для изменения es2015 настройки и включить свободный режим где доступно.

используйте его так:

{
  "presets": ["es2015-loose"]
}

убедитесь, что установить оба es2015 и es2015-loose упаковка:

$ npm install --save-dev babel-preset-es2015-loose babel-preset-es2015

PS: есть другие свободные пресеты, например, если вы нацелены на версии узлов >= 4 вы можете использовать es2015-node4-loose предустановки.