Node.js NPM Tutorial: Crear, Publicar, Extender y Administrar

Un módulo en Node.js es una encapsulación lógica de código en una sola unidad. Siempre es una buena práctica de programación segregar el código de forma tal que lo haga más manejable y mantenible para propósitos futuros. Ahí es donde los módulos en Node.js entran en acción.

Como cada módulo es una entidad independiente con su propia funcionalidad encapsulada, se puede administrar como una unidad de trabajo separada.

En este tutorial, aprenderás-

¿Qué son los módulos en Node.js?

Como se indicó anteriormente, los módulos en el node js son una forma de encapsular código en una unidad lógica separada. Hay muchos módulos listos para usar disponibles en el mercado que se pueden usar dentro del node js.

A continuación se encuentran algunos de los módulos populares que se utilizan en una aplicación Node js

  1. Express framework – Express es un framework de aplicaciones web Node js mínimo y flexible que proporciona un sólido conjunto de funciones para la web y las aplicaciones móviles móviles.
  2. Socket.io – Socket.IO permite la comunicación bidireccional basada en eventos en tiempo real. Este módulo es bueno para la creación de aplicaciones basadas en chat.
  3. Jade -Jade es un motor de plantillas de alto rendimiento e implementado con JavaScript para nodes y navegadores.
  4. MongoDB – El controlador MongoDB Node.js es el controlador node.js oficialmente compatible para MongoDB.
  5. Restify – restify es un framework liviano, similar a express para crear API REST
  6. Bluebird – Bluebird es una biblioteca prometedora con todas las funciones y se centra en funciones y rendimiento innovadores

Usar módulos en Node.js

Para usar módulos en una aplicación Node.js, primero deben instalarse utilizando el administrador de paquetes node.

La siguiente línea de comando muestra cómo se puede instalar un módulo “express”.

npm instala expreso

  • El comando anterior descargará los archivos necesarios que contienen los “módulos expresos” y se encargará de la instalación también
  • Una vez que el módulo ha sido instalado, para usar un módulo en una aplicación Node.js, debe usar la palabra clave ‘requerir’. Esta palabra clave es una forma que utiliza Node.js para incorporar la funcionalidad de un módulo en una aplicación.

Veamos un ejemplo de cómo podemos usar la palabra clave “requerir”. El siguiente ejemplo de código “Guru99” muestra cómo usar la función de requerir

  1. En la primera declaración, estamos usando la palabra clave “require” para incluir el módulo express. El módulo “express” es una biblioteca de JavaScript optimizada para el desarrollo de Node.js. Este es uno de los módulos Node.js más utilizados.
  2. Después de que se incluye el módulo, para usar la funcionalidad dentro del módulo, se necesita crear un objeto. Aquí se crea un objeto del módulo express.
  3. Una vez que el módulo se incluye utilizando el comando “requerir” y se crea un “objeto”, se pueden invocar los métodos requeridos del módulo expreso. Aquí estamos usando el comando set para configurar el motor de visualización, que se usa para configurar el motor de plantillas utilizado en Node.js.
    Nota :-( Solo para que el lector lo entienda, un motor de plantillas es un enfoque para inyectar valores en una aplicación al recoger datos de archivos de datos. Este concepto es bastante famoso en Angular JS, donde las llaves {{key}} se usan para sustituye los valores en la página web. La palabra “clave” en las llaves indica básicamente la variable que será sustituida por un valor cuando se muestre la página).
  4. Aquí estamos usando el método de escucha para hacer que la aplicación escuche en un número de puerto particular.

Creando módulos de NPM

Node.js tiene la capacidad de crear módulos personalizados y le permite incluir esos módulos personalizados en su aplicación Node.js.

Veamos un ejemplo simple de cómo podemos crear nuestro propio módulo e incluir ese módulo en nuestro archivo principal de la aplicación. Nuestro módulo simplemente hará una tarea simple de agregar 2 números.

Sigamos los pasos a continuación para ver cómo podemos crear módulos e incluirlos en nuestra aplicación.

Paso 1) Crea un archivo llamado “Addition.js” e incluye el siguiente código. Este archivo contendrá la lógica para su módulo.

A continuación se muestra el código que entraría en este archivo;

  1. La palabra clave “exports” se usa para garantizar que otros archivos puedan acceder a la funcionalidad definida en este archivo.
  2. Estamos definiendo una función llamada ‘AddNumber’. Esta función está definida para tomar 2 parámetros, a y b. La función se agrega al módulo “exports” para hacer que la función sea una función pública a la que puedan acceder otros módulos de aplicaciones.
  3. Finalmente estamos haciendo que nuestra función devuelva el valor agregado de los parámetros.

Ahora que hemos creado nuestro módulo personalizado que tiene la funcionalidad de agregar 2 números. Ahora es el momento de crear una aplicación, que llamará a este módulo.

En el siguiente paso, veremos cómo crear la aplicación que llamará a nuestro módulo personalizado.

Paso 2) Cree un archivo llamado “app.js”, que es su archivo de aplicación principal y agregue el código siguiente

  1. Estamos utilizando la palabra clave “requerir” para incluir la funcionalidad en el archivo Addition.js.
  2. Como ahora se puede acceder a las funciones en el archivo Addition.js, ahora podemos hacer una llamada a la función AddNumber. En la función, estamos pasando 2 números como parámetros. Entonces estamos mostrando el valor en la consola.

Salida:

  • Cuando ejecuta el archivo app.js, obtendrá un resultado de valor 3 en el registro de la consola.
  • El resultado es porque la función AddNumber en el archivo Addition.js se llamó con éxito y el valor devuelto de 3 se mostró en la consola.

Nota: – No estamos usando el “administrador de paquetes de node” hasta el momento para instalar nuestro módulo Addition.js. Esto se debe a que el módulo ya es parte de nuestro proyecto en la máquina local. El administrador del paquete Node aparece en la imagen cuando publica un módulo en Internet que vemos en el tema siguiente.

Módulos extensibles

Al crear módulos, también es posible extender o heredar un módulo de otro.

En la programación moderna, es bastante común crear una biblioteca de módulos comunes y luego ampliar la funcionalidad de estos módulos comunes si es necesario.

Veamos un ejemplo de cómo podemos extender módulos en Node.js.

Paso 1) Crea el módulo base.

En nuestro ejemplo, cree un archivo llamado “Tutorial.js” y coloque el siguiente código.

En este código, solo estamos creando una función que devuelve una cadena a la consola. La cadena devuelta es “Tutorial Guru99”.

  1. El módulo de exportaciones se usa para que cualquier función definida en este archivo pueda estar disponible en otros módulos en Node.js
  2. Estamos creando una función llamada tutorial que se puede usar en otros módulos Node.js.
  3. Estamos mostrando una cadena “Tutorial Guru99” en la consola cuando se llama a esta función.

Ahora que hemos creado nuestro módulo base llamado Tutorial.js. Ahora es el momento de crear otro módulo que extenderá este módulo base.

Exploraremos cómo hacer esto en el siguiente paso.

Paso 2) A continuación crearemos nuestro módulo extendido. Cree un nuevo archivo llamado “NodeTutorial.js” y coloque el siguiente código en el archivo.

Tenga en cuenta los siguientes puntos clave sobre el código anterior

  1. Estamos utilizando la función “requerir” en el nuevo archivo del módulo. Como vamos a extender el archivo de módulo existente “Tutorial.js”, primero debemos incluirlo antes de extenderlo.
  2. Luego creamos una función llamada “Nodetutorial”. Esta función hará 2 cosas,
  • Enviará una cadena de “Node Tutorial” a la consola.
  • Enviará la cadena “Tutorial Guru99” desde el módulo base “Tutorial.js” a nuestro módulo extendido “NodeTutorial.js”.
  1. Aquí estamos llevando a cabo el primer paso para enviar una cadena a “Node Tutorial” a la consola.
  2. El siguiente paso es llamar a la función desde nuestro módulo Tutorial, que dará como resultado la cadena “Tutorial Guru99” a console.log.

Paso 3)Cree su archivo principal app.js que es su archivo de aplicación principal e incluya el código siguiente.

El código anterior hace las siguientes cosas;

  1. Nuestro archivo de aplicación principal ahora llama al módulo “NodeTutorial”.
  2. Estamos llamando a la función “NodeTutorial”. Al llamar a esta función, se mostrará el texto “Node Tutorial” en el registro de la consola.
  3. Ya que hemos extendido nuestro módulo Tutorial.js y hemos expuesto una función llamada pTutor. También llama al módulo tutorial en el módulo Tutorial.js, y el texto “Tutorial Guru99” también se mostrará en la consola.

Salida:

Como hemos ejecutado el código app.js anterior utilizando Node, obtendremos el siguiente resultado en el archivo console.log

  • Tutorial de nodos
  • Tutorial de Guru99

Publicación de módulos de NPM (Node Package Manager)

Uno puede publicar su propio módulo en su propio repositorio de Github.

Al publicar su módulo en una ubicación central, no tendrá que instalarse en cada máquina que lo requiera.

En su lugar, puede usar el comando de instalación de npm e instalar su módulo npm publicado.

Debes seguir los siguientes pasos para publicar tu módulo npm

Paso 1) Cree su repositorio en GitHub (una herramienta de administración de repositorio de código en línea). Se puede usar para alojar sus repositorios de código.

Paso 2) Necesitas decirle a tu instalación local de npm quién eres. Lo que significa que tenemos que decirle a npm quién es el autor de este módulo, cuál es el id. De correo electrónico y cualquier URL de la compañía, que está disponible y debe asociarse a esta identificación. Todos estos detalles se agregarán a su módulo npm cuando se publique.

Los siguientes comandos establecen el nombre, el correo electrónico y la URL del autor del módulo npm.

npm estableció init.author.name “Guru99”.

npm estableció init.author.email “guru99@gmail.com”

npm establece init.author.url http://Guru99.com

Paso 3) El siguiente paso es iniciar sesión en npm utilizando las credenciales proporcionadas en el último paso. Para iniciar sesión, debe usar el siguiente comando

Paso 4) Inicialice su paquete: el siguiente paso es inicializar el paquete para crear el archivo package.json. Esto se puede hacer emitiendo el siguiente comando

Cuando ejecute el comando anterior, se le solicitarán algunas preguntas. El más importante es el número de versión de su módulo.

Paso 5) Publicar en GitHub: el siguiente paso es publicar tus archivos de origen en GitHub. Esto se puede hacer ejecutando los comandos a continuación.

Paso 6) Publique su módulo: el último paso es publicar su módulo en el registro npm. Esto se hace mediante el siguiente comando.

Administrar paquetes de terceros con npm

Como hemos visto, el “administrador de paquetes de node” tiene la capacidad de administrar módulos, que son requeridos por las aplicaciones Node.js.

Veamos algunas de las funciones disponibles en el administrador de paquetes de nodes para administrar módulos

  1. Instalación de paquetes en modo global: los módulos se pueden instalar a nivel global, lo que básicamente significa que estos módulos estarán disponibles para todos los proyectos de Node.js en una máquina local.El siguiente ejemplo muestra cómo instalar el “módulo express” con la opción global.

npm install express –global

La opción global en la declaración anterior es lo que permite que los módulos se instalen a nivel global.

  1. Listado de todos los paquetes globales instalados en una máquina local. Esto se puede hacer ejecutando el siguiente comando en el símbolo del sistema

npm list –global

A continuación se muestra el resultado que se mostrará, si previamente ha instalado el “módulo express” en su sistema.

Aquí puede ver los diferentes módulos instalados en la máquina local.

  1. Instalar una versión específica de un paquete: a veces puede ser necesario instalar solo la versión específica de un paquete. Una vez que sepa cuál es el paquete y la versión relevante que necesita instalarse, puede usar el comando npm install para instalar esa versión específica.

El siguiente ejemplo muestra cómo instalar el módulo llamado subrayado con una versión específica de 1.7.0

npminstall underscore@1.7.0

  1. Actualización de una versión del paquete: a veces puede tener una versión anterior de un paquete en un sistema, y es posible que desee actualizar a la última disponible en el mercado. Para hacer esto uno puede usar el comando de actualización npm.El siguiente ejemplo muestra cómo actualizar el paquete de subrayado a la última versión.

npm update underscore

  1. Búsqueda de un paquete en particular: para buscar si una versión en particular está disponible en el sistema local o no, puede usar el comando de búsqueda de npm. El siguiente ejemplo verificará si el módulo express está instalado en la máquina local o no.

npm search express

  1. Desinstalar un paquete: lo mismo que puede instalar un paquete, también puede desinstalar un paquete. La desinstalación de un paquete se realiza con el comando de desinstalación de npm.El siguiente ejemplo muestra cómo desinstalar el módulo express

npm uninstall express

¿Cuál es el archivo package.json?

El archivo “package.json” se usa para contener los metadatos sobre un proyecto en particular. Esta información proporciona al administrador del paquete node la información necesaria para comprender cómo se debe manejar el proyecto junto con sus dependencias.

Los archivos package.json contienen información tal como la descripción del proyecto, la versión del proyecto en una distribución particular, información de licencia y datos de configuración.

El archivo package.json normalmente se encuentra en el directorio raíz de un proyecto Node.js.

Veamos un ejemplo de cómo se ve la estructura de un módulo cuando se instala a través de npm.

La instantánea siguiente muestra el contenido del archivo del módulo express cuando está incluido en su proyecto Node.js. Desde la instantánea, puede ver el archivo package.json en la carpeta express.

Si abre el archivo package.json, verá mucha información en el archivo.

A continuación se muestra una instantánea de una parte del archivo. El mensaje express@~4.13.1 menciona el número de versión del módulo express que se está utilizando.

Resumen

  • Un módulo en Node.js es una encapsulación lógica de código en una sola unidad. La separación en módulos hace que el código sea más manejable y mantenible para propósitos futuros
  • Hay muchos módulos disponibles en el mercado que se pueden usar dentro de Node.js como express, guión bajo, mongoDB, etc.
  • El administrador de paquetes de node (npm) se usa para descargar e instalar módulos que luego pueden usarse en una aplicación Node.js.
  • Uno puede crear módulos NPM personalizados, extender estos módulos y también publicar estos módulos.
  • El administrador de paquetes de Node tiene un conjunto completo de comandos para administrar los módulos npm en el sistema local, como la instalación, desinstalación, búsqueda, etc.
  • El archivo package.json se usa para contener toda la información de metadatos para un módulo npm.
0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *