MJS CJS
Conversione file

Converti MJS in CJS

RISPOSTA RAPIDA
È possibile convertire MJS in CJS?
- MJS si converte in CJS.

Un file .mjs usa la sintassi dei moduli ES, mentre .cjs usa CommonJS. Un bundler come esbuild o Babel riscrive automaticamente import in require ed export in module.exports. L'ostacolo principale è l' await a livello superiore, che CommonJS non può rappresentare.

In questa pagina

Testato su macOS, Windows e Linux
Ultima verifica Sep 2026

Altri convertitori gratuiti

HEIC, PNG, WEBP, MP3 e altri - ogni strumento qui è gratuito.

Apri la cassetta degli attrezzi

Perché convertire MJS in CJS?

Gli utenti convertono in .CJS per eseguire il codice in configurazioni Node.js più vecchie o con strumenti che si aspettano CommonJS, oppure per distribuire una build compatibile con require insieme a una ESM. La logica rimane la stessa; cambia solo il cablaggio dei moduli.

Come convertire MJS in CJS

Babel OPEN-SOURCE

Aggiungi @babel/plugin-transform-modules-commonjs alla tua configurazione, quindi esegui babel input.mjs -o output.cjs per riscrivere gli import in require.

Rollup FREE

Imposta output.format su cjs in rollup.config.js e avvia la build; Rollup genererà un bundle CommonJS dal tuo entry point ESM.

Informazioni su questi formati

Qualità e a cosa prestare attenzione

  • L' await a livello superiore (top-level) non ha un equivalente in CommonJS e la conversione fallirà.
  • Gli export con nome diventano proprietà di module.exports e l'interoperabilità con gli export predefiniti (default) può variare leggermente.
  • I percorsi relativi di import e import.meta.url potrebbero richiedere modifiche per l'output CommonJS.

Domande frequenti

Posso convertire manualmente?
Per file piccoli sì: sostituisci import x from 'y' con const x = require('y') ed export con module.exports.
Perché la mia build è fallita?
Molto spesso a causa dell' await a livello superiore, che CommonJS non può esprimere; spostalo all'interno di una funzione asincrona.
Devo rinominare in .cjs?
Sì, se il tuo package.json ha "type": "module"; l'estensione .cjs forza Node a trattarlo come CommonJS.
Quale strumento è il più veloce?
esbuild è il più rapido per un singolo comando; Babel e Rollup offrono un controllo più fine sull'output.