Avatar ·

¿Para qué sirve module.exports en Node.js y cómo usarlo correctamente?

¡Hola a todos! Acabo de empezar a estudiar Node.js y no logro entender qué es module.exports y para qué sirve. Aunque leí la documentación, sigo confundido. Supongamos que tengo un archivo `math.js` donde escribo funciones simples para suma y multiplicación: ```javascript function add(a, b) { return a + b; } function multiply(a, b) { return a * b; } ``` Y en otro archivo `app.js` quiero usar estas funciones: ```javascript console.log(add(2, 3)); // Error: add is not defined ``` Pero obtengo un error. Entiendo que necesito "exportar" las funciones, pero no comprendo la diferencia entre `module.exports` y `exports`, ni por qué no puedo simplemente usar variables globales. También he visto que algunos escriben `module.exports = { ... }`, mientras que otros usan `exports.functionName = ...`. ¿Cuál es la forma correcta? ¿Y qué pasa si escribo `module.exports = function() { ... }`? Explíquenme, por favor, con ejemplos simples cómo funciona esto y cuándo usar cada método.