SISTEMAS DE MÓDULOS EN NODE.JS: COMMONJS Y ES MODULES
Sistemas de Módulos en NodeJS- CommonJS: Es el sistema por defecto en NodeJS. Usa require() para importar y module.exports para exportar. Es síncrono y ampliamente utilizado en aplicaciones de servidor. Sencillo y ampliamente soportado y tiene caché de módulos para mejorar el rendimiento. Lo malo es que tiene carga síncrona, menos eficiente para ciertos casos y no es nativo en navegadores. Ejemplo:
// circle.js const { PI } = Math; exports.area = (r) => PI * r ** 2; exports.circumference = (r) => 2 * PI * r; // app.js const circle = require('./circle'); console.log(`Área de un círculo de radio 4: ${circle.area(4)}`); - ECMAScript Modules o ESM: Introducido como estándar oficial para JavaScript, usa import y export. Es asíncrono y compatible con navegadores y NodeJS. Usa la extensión ".mjs" o agrega "type": "module" en "package.json". Estos módulos son asíncronos, mejoran el rendimiento, son compatibles con navegadores y la sintaxis es más moderna. Lo malo es el soporte en herramientas antiguas. Ejemplo:
// miModulo.js export const saludar = () => console.log('Hola desde ES Module'); // main.js import { saludar } from './miModulo.js'; saludar();