Tipos de Módulos en Node.js

laptop, macbook, codes, coding, programming, css, computer, technology, work, computer programming, coding, coding, coding, coding, coding, programming, programming, programming, programming, computer, computer

Sistemas de Módulos que podemos implementar.

CommonJs:

  • Sintaxis: require/modeule.exports
  • Extensión: .js
  • Sistema predeterminado en Node.js
  • Ejecución asíncrona

ES Modules:

  • Sintaxis: Import/export
  • Extensión: .mjs o .js
  • Ejecución: Asíncrona(Por diseño)

*Experimental en Node 12, estable desde Node 14

Módulos nativos:

  • Modúlos incorporados proporcionados por Node.js
  • fs, http,path, os

Módulos de Terceros:

  • Paquetes externos instalados vía npm
  • Ejemplo: npm install express

Ejemplo con CommonJs

function add(a, b){
    return a + b;
}

function substract(a,b){
    return a - b;
}

module.exports = {
    add,
    substract
}
JavaScript

Ahora vamos a crear main.js y vamos a importar utilizando commonJs

const math = require('./math');
console.log(`Sumary: ${math.add(1, 2)}`);
console.log(`Substraction: ${math.substract(4, 2)}`);

//deberá retornar en la consola:
//Sumary: 3
//Substraction: 2
JavaScript

Ejemplo con EsModules

Creamos un archivo math.mjs.

	export function multiply(a, b) {
  return a * b;
}
export function divide(a, b) {
  return a / b;
}
JavaScript

creamos un main.mjs

import { divide, multiply } from "./math.mjs";

console.log(`multiply: ${multiply(5,3)}`);
console.log(`divide: ${divide(5,3)}`);
JavaScript

Ejemplo con módulos nativos

Creamos un archivo example.txt en la raiz del proyecto y un archivo native.js en el directorio src

Hello World
Plaintext

Vamos a utilizar un módulo nativo llamado fs , al cual llamamos con require('fs'). Con esto vamos a leer contenido en el archivo example:

//src/native.js

const fs = require('fs');

const data = fs.readFileSync('example.txt', 'utf8');

console.log(`File content: ${data}`);
JavaScript

Llamando a un módulo de terceros

Creamos un archivo third-party.js en src . Este módulo no está en nuestro sistema, así que tenemos que instalarlo mediante a la herramienta incluida por defecto en node, llamada npm(node package manager). Usaremos este ejemplo

npm i is-odd
Bash

Ahora se ha creado una carpeta llamada node_modules

Ahora que ya está instalado podemos utilizarla simplemente importándola:

const isOdd = require('is-odd');
console.log(isOdd(3));
Bash