Babel не может выполнять транспилирование модулей на стороне клиента, или, скорее, он не повсеместно поддерживается браузерами. На самом деле, если вы не используете плагин, Babel преобразует import в require() .
Если я выполню следующий код:
<head>
<script src="
https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.24.0/babel.js"></script>
<script defer type="text/babel" data-presets="es2015">
import Mymod from './modules/module';
Mymod();
</script>
</head>
Я получаю следующую ошибку:
Uncaught ReferenceError: require не определен
Из Вавилонских документов :
Компиляция в браузере имеет довольно ограниченный вариант использования, поэтому, если вы работаете на производственном сайте, вы должны предварительно скомпилировать свои сценарии на стороне сервера. Дополнительные сведения см. в разделе Настройка систем сборки.
Большинство людей выбирают предварительно скомпилированный пакет модулей, например Webpack или Rollup .
Если вы действительно хотите выполнить это на стороне клиента, используйте RequireJS с Babel run через плагин , хотя вам может потребоваться использовать синтаксис AMD.
Поддержка собственного браузера для модулей ES6 все еще находится на ранних стадиях . Но, насколько мне известно, еще нет предустановки/плагина, доступного для Babel, чтобы сказать ему не преобразовывать операторы import/export .