Introducción a CommonJS

La especificación del módulo CommonJS es el estándar utilizado en Node.js para trabajar con módulos. Los módulos son geniales, porque te permiten encapsular todo tipo de funcionalidades y exponer esta funcionalidad a otros archivos JavaScript, como bibliotecas.

La especificación del módulo CommonJS es el estándar utilizado enNode.jspara trabajar con módulos.

JavaScript del lado del cliente que se ejecuta en el navegador utiliza otro estándar, llamadoMódulos ES

Los módulos son geniales, porque te permiten encapsular todo tipo de funcionalidades y exponer esta funcionalidad a otros archivos JavaScript, como bibliotecas. Le permiten crear fragmentos de funcionalidad claramente separados y reutilizables, cada uno de los cuales se puede probar por sí solo.

El enormenpmEl ecosistema se basa en este formato CommonJS.

La sintaxis para importar un módulo es:

const package = require('module-name')

En CommonJS, los módulos se cargan de forma síncrona y se procesan en el orden en que los encuentra el tiempo de ejecución de JavaScript. Este sistema nació con JavaScript del lado del servidor en mente y no es adecuado para el lado del cliente (esta es la razón por la que se introdujeron los módulos ES).

Un archivo JavaScript es un módulo cuando exporta uno o más de los símbolos que define, ya sean variables, funciones, objetos:

mayúsculas.js

exports.uppercase = (str) => str.toUpperCase()

Cualquier archivo JavaScript puede importar y usar este módulo:

const uppercaseModule = require('uppercase.js')
uppercaseModule.uppercase('test')

Se puede encontrar un ejemplo sencilloen este fallo.

Puede exportar más de un valor:

exports.a = 1
exports.b = 2
exports.c = 3

e importarlos individualmente usando elasignación de desestructuración:

const { a, b, c } = require('./uppercase.js')

o simplemente exportar un valor usando:

//file.js
module.exports = value

e importarlo usando

const value = require('./file.js')

Más tutoriales de js: