Как перезаписать предустановленные параметры плагина babel

Я использую приложение babel-preset-реагировать через следующие.babelrc:

{
  "presets": ["react-app"],
  "plugins": [
    "transform-es2015-modules-commonjs",
    "transform-async-generator-functions"
  ]
}

Мне нужно переписать babel-plugin-transform-runtime опции. Я попытался установить плагин и добавить его в.babelrc следующим образом:

{
  "presets": ["react-app"],
  "plugins": [
    ["babel-plugin-transform-runtime", {
      "helpers": false,
      "polyfill": false,
      "regenerator": false
    }],
    "transform-es2015-modules-commonjs",
    "transform-async-generator-functions"
  ]
}

но это не работает для меня.

Есть ли способ, которым я могу сделать это без копирования и вставки всей предустановки в мой.babelrc?

0 ответов

Похоже, что Babel в настоящее время не поддерживает такого рода переопределения (см. https://github.com/babel/babel/issues/8799). К счастью, я нашел обходной путь для babel-preset-react-app, Есть недокументированный вариант, useESModules:

['react-app', { useESModules: false }]

Вот конфиг с помощью babel-plugin-react-app это работает для node.js:

    presets: [
        ['react-app', { useESModules: false }],
        [
            '@babel/preset-env',
            {
                modules: 'commonjs',
                targets: {
                    node: 'current',
                },
            },
        ],
    ],

Конечно, используя babel-preset-react-app имеет смысл, если вы используете create-react-app для вашего клиентского пакета. Если вы не используете create-react-app, тогда вы можете просто использовать @ babel / preset-реагировать напрямую, в этом случае вам не нужно беспокоиться о переопределении useESModules установка.

Другие вопросы по тегам