MJS JS
Conversão de arquivo

Converter MJS para JS

RESPOSTA RÁPIDA
É possível converter MJS para JS?
Sim - MJS converte para JS.

O caminho mais rápido é renomear file.mjs para file.js; ele permanece como um ES module apenas se o seu package.json tiver "type": "module". Caso contrário, o Node tratará o arquivo .js como CommonJS, então você deve adicionar esse campo ou transpilar a sintaxe import/export para require/module.exports com Babel ou esbuild.

Também para JS: WASM · AXD · FBA

Nesta página

Testado em macOS, Windows e Linux
Última verificação em Sep 2026

Mais conversores gratuitos

HEIC, PNG, WEBP, MP3 e mais - todas as ferramentas aqui são gratuitas.

Abrir a caixa de ferramentas

Por que converter MJS para JS?

As pessoas convertem .mjs para .js simples para descartar a extensão explícita de ES-module e deixar o package.json do projeto decidir o sistema de módulos, ou para fornecer uma saída CommonJS que versões mais antigas do Node e ferramentas possam carregar sem ESM.

Como converter MJS para JS

Babel OPEN-SOURCE

Instale o @babel/plugin-transform-modules-commonjs (ou @babel/preset-env) e execute babel file.mjs --out-file file.js para reescrever import/export em require/module.exports do CommonJS.

esbuild OPEN-SOURCE

Execute esbuild file.mjs --format=cjs --platform=node --outfile=file.js para gerar um pacote .js em CommonJS a partir do ES module.

Visual Studio Code FREE

Abra o .mjs no VS Code, renomeie-o para .js e use o editor para converter as instruções import/export manualmente para arquivos pequenos.

Sobre estes formatos

Qualidade e o que observar

  • Renomear sozinho não altera o código; se o package.json não estiver definido como "type": "module", a sintaxe ESM em um arquivo .js lançará um SyntaxError.
  • A transpilação para CommonJS altera import/export para require/module.exports e pode alterar o comportamento de await no nível superior e de import.meta.
  • Um empacotador como o esbuild pode incluir dependências internamente e remover comentários, portanto, o .js de saída não é uma cópia linha por linha do código-fonte.

Perguntas frequentes

`.mjs` é o mesmo que `.js`?
Ambos são JavaScript. .mjs sempre significa um ES module, enquanto .js segue o que o package.json define - CommonJS por padrão, ou ESM se "type": "module" estiver presente.
Posso apenas renomear `.mjs` para `.js`?
Sim, mas ele só continuará sendo um ES module funcional se o package.json tiver "type": "module". Caso contrário, o Node tratará o .js como CommonJS e a sintaxe ESM dará erro.
Como mantenho o ESM após renomear?
Adicione "type": "module" ao seu package.json ou use a extensão .mjs. Ambos dizem ao Node para analisar o arquivo como um ES module.
Preciso do Babel ou esbuild?
Apenas se você quiser uma saída CommonJS para ferramentas mais antigas. Para manter o ESM, basta renomear o arquivo e definir o tipo do pacote.