Un módulo en JavaScript es un bloque de código reutilizable que puede ser exportado e importado en diferentes partes de una aplicación.
Los módulos permiten dividir el código en archivos separados para una fácil organización y mantenimiento. También permiten encapsular el código y evitar conflictos de nombres en archivos grandes.
En JavaScript, existen varias formas de trabajar con módulos, pero las dos más comunes son utilizando CommonJS (usado principalmente en Node.js) y ES6 modules.
Exportar un módulo
Para exportar funciones, objetos o valores desde un módulo, se utiliza la palabra clave `export`.
En ES6:
```js
// archivo myModule.js
export const myFunction = () => {
console.log(“Esta es mi función”);
};
export const myVariable = “Esta es mi variable”;
```
En CommonJS:
```js
// archivo myModule.js
exports.myFunction = () => {
console.log(“Esta es mi función”);
};
exports.myVariable = “Esta es mi variable”;
```
Importar un módulo
Para importar funciones, objetos o valores exportados desde otros módulos, se utiliza la palabra clave `import`.
En ES6:
```js
// archivo main.js
import { myFunction, myVariable } from ‘./myModule.js’;
myFunction(); // registra ‘Esta es mi función‘
console.log(myVariable); // registra ‘Esta es mi variable‘
```
En CommonJS:
```js
// archivo main.js
const myModule = require(‘./myModule.js’);
myModule.myFunction(); // registra ‘Esta es mi función‘
console.log(myModule.myVariable); // registra ‘Esta es mi variable‘
```