¿Cómo usar Módulos Externos y NPM en un proyecto?

Necesidad de módulos externos: para una aplicación de JavaScript grande, se vuelve difícil y complicado escribir todo el código en un solo archivo de JavaScript. Aquí es donde CommonJS entra en escena y este formato CommonJS define un formato de módulo que se puede usar para dividir su aplicación JS en varios archivos. Node.js adopta este formato CommonJS para organizar nuestra aplicación JS en varios archivos. Dentro de esta aplicación Node.js, tenemos la propiedad module.exports que se usa para determinar la exportación desde el módulo actual. 
Tipos de módulos de Node: el módulo en Node.js es una funcionalidad simple o compleja organizada en archivos JS únicos o múltiples que se pueden usar nuevamente en toda la aplicación Node.js. Hay tres tipos de módulos de Node.js: 
 

  • Módulos locales/basados ​​en archivos: define los módulos de Node dentro de un archivo en nuestra aplicación y se usa dentro de nuestra aplicación.
  • Módulos principales: los módulos principales son módulos integrados en Node.js. Estos módulos brindan suficiente funcionalidad para que los diseñadores de módulos externos puedan agregar su propia funcionalidad que se puede usar al desarrollar aplicaciones de Node. Los módulos principales incluyen ruta, sistema de archivos, sistema operativo, utilidad y algunos otros.
  • Módulos de terceros: los módulos de terceros son los módulos de Nodes externos. Estos son los módulos de Node de terceros desarrollados por desarrolladores de Node que están disponibles a través del ecosistema de Node. Pero necesitamos un administrador de paquetes que mantenga todos los módulos para que se pueda acceder a ellos con facilidad. Aquí es donde la NPM entra en escena.

NPM (Node Package Manager) : NPM es el administrador de paquetes predeterminado para el entorno de tiempo de ejecución de JavaScript en Node.js. El Administrador de paquetes de Node.js (npm) es el administrador de paquetes predeterminado y más popular en el ecosistema de Node.js que se usa principalmente para instalar y mantener módulos externos en la aplicación Node.js. Básicamente, los usuarios pueden instalar los módulos de Node necesarios para su aplicación utilizando npm. 
¿Cómo exportar módulos?  
Primero, inicialice una aplicación node.js escribiendo npm init en el símbolo del sistema/terminal (asegúrese de estar presente en la carpeta del proyecto actual). Creará un archivo package.json.
Use la siguiente sintaxis para agregar un módulo en el proyecto Node.js. 
Sintaxis: 
 

var module = require("module_name");

Crear módulos propios y usarlos: primero, inicialice el Node en un directorio escribiendo npm init en el símbolo del sistema/terminal. 
 

  • Creando un módulo Node.js (rectange.js): 
     

javascript

module.exports = (length, breadth, callback) => {
    if (length <= 0 || breadth <= 0)
        setTimeout(() => callback(new Error(
                "Dimensions cannot be negative: length = "
                + length + ", and breadth = "
                + breadth), null), 5000);
    else
        setTimeout(() => callback(null, {
                Perimeter: () => (2*(length+breadth)),
                 Area:() => (length*breadth) }), 5000);
}
  • Usando el módulo Node en su aplicación (module.js): 
     

javascript

var rect = require('./rectangle');
module.exports.Rect = function Rect(l, b) {
    rect(l, b, (err, rectangle) => {
        if (err)
            console.log("There is an ERROR!!: ", err.message);
        else {
            console.log("Area of rectangle with dimensions length = "
                + l + " and breadth = " + b + " : " + rectangle.Area());
             
            console.log("Perimeter of the rectangle with dimensions length = "
                 + l + " and breadth = " + b + " : " + rectangle.Perimeter());
        }
     console.log("\n\n");
    });
};
  • Inicializando el archivo principal (index.js): 
     

javascript

var rect = require("./module");
rect.Rect(5, 2);
rect.Rect(-1, 0);
rect.Rect(12, 4);
rect.Rect(8, 6);
rect.Rect(3, 4);

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por Jasraj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *