MJS CJS
Conversión de archivos

Convertir MJS a CJS

RESPUESTA RÁPIDA
¿Es posible convertir MJS a CJS?
- MJS se convierte a CJS.

Un archivo .mjs utiliza la sintaxis de módulos ES, mientras que .cjs utiliza CommonJS. Un empaquetador como esbuild o Babel reescribe import a require y export a module.exports automáticamente. El principal obstáculo es el await de nivel superior, que CommonJS no puede representar.

En esta página

Probado en macOS, Windows y Linux
Última verificación Sep 2026

Más convertidores gratuitos

HEIC, PNG, WEBP, MP3 y más - cada herramienta aquí es gratuita.

Abrir la caja de herramientas

¿Por qué convertir MJS a CJS?

Los usuarios convierten a .CJS para ejecutar código en configuraciones de Node.js antiguas o herramientas que esperan CommonJS, o para distribuir una versión compatible con require junto con una ESM. La lógica sigue siendo la misma; solo cambia la conexión de los módulos.

Cómo convertir MJS a CJS

Babel OPEN-SOURCE

Añada @babel/plugin-transform-modules-commonjs a su configuración, luego ejecute babel input.mjs -o output.cjs para reescribir las importaciones a require.

Rollup FREE

Establezca output.format a cjs en rollup.config.js y compile; Rollup generará un paquete CommonJS desde su entrada ESM.

Acerca de estos formatos

Calidad y qué observar

  • El await de nivel superior no tiene equivalente en CommonJS y fallará al intentar convertirse.
  • Las exportaciones con nombre se convierten en propiedades de module.exports, y la interoperabilidad con las exportaciones por defecto puede variar sutilmente.
  • Las rutas de import relativas e import.meta.url pueden necesitar ajustes para la salida en CommonJS.

Preguntas frecuentes

¿Puedo convertirlo a mano?
Para archivos pequeños sí: cambie import x from 'y' por const x = require('y') y export por module.exports.
¿Por qué falló mi compilación?
Casi siempre por el await de nivel superior, que CommonJS no puede expresar; muévalo dentro de una función asíncrona.
¿Necesito renombrar a .cjs?
Sí, si su package.json tiene "type": "module"; la extensión .cjs obliga a Node a tratarlo como CommonJS.
¿Qué herramienta es más rápida?
esbuild es la más rápida para un solo comando; Babel y Rollup ofrecen un control más detallado sobre la salida.