@SokLor

Зачем преобразовывать ES модули в CommonJS?

Для babel есть плагин, преобразующий ES модули в CommonJS. На данный момент он уехал под капот @babel/preset-env в опцию modules.

Но я не совсем понимаю его назначение. Подскажите, пожалуйста, зачем в итоговом бандле — уже скомпилированном бабелем коде — менять импорты/экспорты на CommonJS?

Из
export default 42;

В
Object.defineProperty(exports, "__esModule", {
  value: true,
});

exports.default = 42;
  • Вопрос задан
  • 315 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Ну потому что старые браузеры не умеют в esmodules, а изначальная идея babel как раз в поддержке старых браузеров - всё остальное наслоилось после.
Также esm нельзя скомпоновать в один файл, в отличие от CommonJS.
В любом случае это лишь умолчания, которые вы всегда можете поменять.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы