MJS JS
Конвертация файлов

Конвертировать MJS в JS

БЫСТРЫЙ ОТВЕТ
Возможно ли конвертировать MJS в JS?
Да - MJS конвертируется в JS.

Самый быстрый способ - переименовать file.mjs в file.js; он останется ES-модулем только в том случае, если в вашем package.json указано "type": "module". Если нет, Node будет рассматривать файл .js как CommonJS, поэтому вам нужно либо добавить это поле, либо транспилировать синтаксис import/export в require/module.exports с помощью Babel или esbuild.

Также в JS: WASM · AXD · FBA

На этой странице

Протестировано на macOS, Windows и Linux
Последняя проверка: Sep 2026

Больше бесплатных конвертеров

HEIC, PNG, WEBP, MP3 и другие - все инструменты здесь бесплатны.

Открыть инструменты

Зачем конвертировать MJS в JS?

Пользователи конвертируют .mjs в обычный .js, чтобы отказаться от явного расширения ES-модуля и позволить package.json проекта определять систему модулей, или чтобы выпустить сборку CommonJS, которую старые версии Node и инструменты могут загружать без ESM.

Способы конвертации MJS в JS

Babel OPEN-SOURCE

Установите @babel/plugin-transform-modules-commonjs (или @babel/preset-env) и запустите babel file.mjs --out-file file.js, чтобы переписать import/export в CommonJS require/module.exports.

esbuild OPEN-SOURCE

Запустите esbuild file.mjs --format=cjs --platform=node --outfile=file.js, чтобы создать CommonJS-бандл .js из ES-модуля.

Visual Studio Code FREE

Откройте .mjs в VS Code, переименуйте его в .js и используйте редактор, чтобы вручную преобразовать операторы import/export для небольших файлов.

Об этих форматах

Качество и на что обратить внимание

  • Простое переименование не меняет код; если в package.json не установлено "type": "module", синтаксис ESM в файле .js вызовет ошибку SyntaxError.
  • Транспиляция в CommonJS заменяет import/export на require/module.exports и может изменить поведение top-level await и import.meta.
  • Сборщик типа esbuild может встраивать зависимости и удалять комментарии, поэтому выходной .js не будет построчной копией исходника.

Часто задаваемые вопросы

Является ли `.mjs` тем же самым, что и `.js`?
Оба являются JavaScript. .mjs всегда означает ES-модуль, в то время как .js следует настройкам package.json - CommonJS по умолчанию или ESM, если присутствует "type": "module".
Можно ли просто переименовать `.mjs` в `.js`?
Да, но он останется рабочим ES-модулем только если в package.json есть "type": "module". В противном случае Node воспримет .js как CommonJS, и синтаксис ESM выдаст ошибку.
Как сохранить ESM после переименования?
Добавьте "type": "module" в ваш package.json или используйте расширение .mjs. Оба варианта указывают Node парсить файл как ES-модуль.
Нужны ли мне Babel или esbuild?
Только если вам нужен вывод в формате CommonJS для старых инструментов. Чтобы сохранить ESM, достаточно переименовать файл и настроить тип пакета.