Есть ли возможность прогнать нативные es6 модули через babel?

На статичном сайте используются нативные es6 модули.

<script type="module" src="./main.js"></script>

В отдельной сборке я хочу прогонять эти модули через babel для большей кроссбраузерности.

// webpack.config.js

rules: [
  {
    test: /\.js$/i,
    exclude: /node_modules/,
    use: ['babel-loader'],
  }
]

// .babelrc

  {
      "presets": [
        [
          "@babel/preset-env",
          {
            "modules": false,
          }
        ]
      ]
    }

Я не хочу, чтобы babel превращал модули в commonjs и т.п., я просто хочу превратить остальной es6 в es2015

// main.js before

export default () => {
  return 'Hello world!'
}

// main.js after

export default function () {
  return 'Hello world!'
}

Согласно документации babel предоставляет опцию module: false, но она не работает у меня

По факту babel преобразовывает файл в нечто похожее: введите сюда описание изображения

То есть он просто копирует импортируемые данные в скомпилированный файл.

При большом количестве файлов создает дополнительные чанки:

введите сюда описание изображения

Есть ли возможность просто проигнорировать импорты и экспорты при траспиляции в es5? Спасибо


Ответы (0 шт):