MJS CJS
Conversão de arquivo

Converter MJS para CJS

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

Um arquivo .mjs usa a sintaxe de ES module, enquanto .cjs usa CommonJS. Um empacotador como esbuild ou Babel reescreve import para require e export para module.exports automaticamente. O principal impedimento é o await de nível superior, que o CommonJS não consegue representar.

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 CJS?

As pessoas convertem para .CJS para executar código em configurações antigas do Node.js ou ferramentas que esperam CommonJS, ou para fornecer uma versão compatível com require junto com uma versão ESM. A lógica permanece a mesma; apenas a fiação do módulo muda.

Como converter MJS para CJS

Babel OPEN-SOURCE

Adicione @babel/plugin-transform-modules-commonjs à sua configuração e execute babel input.mjs -o output.cjs para reescrever as importações para require.

Rollup FREE

Defina output.format como cjs em rollup.config.js e compile; o Rollup emite um pacote CommonJS a partir da sua entrada ESM.

Sobre estes formatos

Qualidade e o que observar

  • O await de nível superior não tem equivalente em CommonJS e falhará na conversão.
  • Exportações nomeadas tornam-se propriedades em module.exports, e a interoperabilidade com exportações padrão pode diferir sutilmente.
  • Caminhos de import relativos e import.meta.url podem precisar de ajustes para a saída CommonJS.

Perguntas frequentes

Posso converter manualmente?
Para arquivos pequenos, sim: troque import x from 'y' por const x = require('y') e export por module.exports.
Por que minha compilação falhou?
Geralmente devido ao await de nível superior, que o CommonJS não pode expressar; mova-o para dentro de uma função assíncrona.
Preciso renomear para .cjs?
Sim, se o seu package.json tiver "type": "module"; a extensão .cjs força o Node a tratá-lo como CommonJS.
Qual ferramenta é a mais rápida?
O esbuild é o mais rápido para um comando único; Babel e Rollup oferecem controle mais refinado sobre a saída.