Publicar un m贸dulo de Node.js en NPM

    Introducci贸n

    NPM son las siglas de Node Package Manager y se refiere al repositorio de proyectos en l铆nea o la herramienta de interfaz de l铆nea de comandos (CLI) que se utiliza para interactuar con el repositorio en l铆nea.

    Actualmente, NPM es el registro de software m谩s grande del mundo con m谩s de 1,4 millones de paquetes de c贸digos. Por ejemplo, si desea utilizar Node.js para enviar correos electr贸nicos, puede hacer una b煤squeda r谩pida en su repositorio y encontrar un m贸dulo como Nodemailer, lo que puede ahorrarle mucho tiempo.

    Es posible que desee compartir una herramienta que ha creado con la comunidad, que agiliza algunas de las tareas est谩ndar. En este art铆culo, veremos c贸mo publicar un m贸dulo Node.js en NPM.

    Introducci贸n a NPM

    Para publicar un m贸dulo en NPM, necesitamos tener una cuenta de NPM. Si no tiene uno, puede crearlo aqu铆.

    Cuando instala Node.js, el npm La herramienta tambi茅n se instala autom谩ticamente.

    Para comprobar si npm se ha instalado correctamente, puede comprobar cu谩l es la versi贸n instalada actualmente ejecutando:

    $ npm -v
    

    Una vez comprobado que de hecho tenemos npm instalado, podemos iniciar sesi贸n:

    $ npm login
    

    La herramienta nos pedir谩 nuestra identificaci贸n, correo electr贸nico y contrase帽a creados al registrarse.

    Nota: No necesita tener una cuenta para usar NPM, pero para publicar un m贸dulo, necesitar谩 una, ya que est谩 vinculado a usted como autor.

    Crear un paquete

    Creemos un directorio para nuestro proyecto y pasemos a 茅l:

    $ mkdir publish-to-npm
    $ cd publish-to-npm
    

    A continuaci贸n, inicializaremos el proyecto:

    $ npm init 
    

    A continuaci贸n, el comando le presentar谩 varias preguntas que, una vez completadas, package.json archivo:

    {
      "name": "publish-to-npm",
      "version": "1.0.0",
      "description": ""Sample module for publishing"",
      "main": "index.js",
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "author": "[email聽protected]",
      "license": "ISC"
    }
    

    El principal punto de entrada, por defecto, es el index.js, por lo que queremos crear ese archivo y agregarle algo.

    Si usaste el -y bandera junto a la init comando, estos se habr铆an establecido en sus valores predeterminados.

    Agregar dependencias

    Agreguemos un c贸digo a nuestro index.js y agregue una dependencia, como otro m贸dulo NPM para que lo utilice.

    Primero, instalaremos una dependencia:

    $ npm install node-fetch --save
    

    Luego, lo importaremos a nuestro index.js archivo y agregue algo de l贸gica:

    const fetch = require('node-fetch');
    
    fetch('https://google.com')
        .then(res => res.text())
        .then(text => console.log(text))
    

    Para verificar que esto est谩 funcionando, podemos ejecutar:

    $ node index.js
    

    Y la salida es:

    <!doctype html>
    <html itemscope="" itemtype="http://schema.org/WebPage" lang="en-RS">
        <head>
            <meta charset="UTF-8">
            <meta content="origin" name="referrer">
            <!-- Rest of the page -->
    

    Al comprobar el package.json archivar ahora, podemos ver node-fetch en nuestras dependencias:

    {
      "name": "publish-to-npm",
      "version": "1.0.0",
      "description": ""Sample module for publishing"",
      "main": "index.js",
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "author": "[email聽protected]",
      "license": "ISC"
      "dependencies": {
        "node-fetch": "2.6.1"
      }
    }
    

    Nota: los --save bandera dice npm para actualizar el proyecto con el m贸dulo como dependencia. Esto se ha eliminado en las versiones m谩s recientes y el m贸dulo se agregar谩 a la lista de dependencias incluso sin la --save flag, sin embargo, para versiones anteriores, tendr谩 que usarlo.

    Publicar en NPM

    Ahora, podemos publicar el m贸dulo en NPM a trav茅s del publish mando:

    $ npm publish
    

    Si obtiene alg煤n error, lo m谩s probable es que se deba a una colisi贸n de nombres. es decir, ya existe un paquete con el mismo nombre en npm. Tenemos que cambiar el nombre de nuestro proyecto por algo 煤nico.

    Puede buscar nombres de paquetes existentes a trav茅s de la barra de b煤squeda en el p谩gina de inicio.

    Despu茅s de crear un nombre 煤nico, debe cambiar el nombre del paquete en nuestro package.json archivo. En aras de la coherencia, tambi茅n se recomienda actualizar el nombre de la carpeta para que coincida con el nombre del paquete.

    Si no puede encontrar un nombre 煤nico, debe consultar paquetes con alcance. B谩sicamente, esto le brinda su propio espacio de nombres en NPM, por lo que puede nombrar sus paquetes como desee.

    Por lo general, se recomienda que, si planea hacer p煤blico un m贸dulo, evite usar el mismo nombre que otro paquete para evitar confusiones innecesarias. Sin embargo, es muy pr谩ctico para uso personal.

    Esta es una de esas configuraciones que evitamos cambiar usando el -y bandera. Si quisiera crear un m贸dulo con 谩mbito, necesitar铆a inicializar su proyecto con:

    $ npm init [email聽protected]
    

    Conclusi贸n

    En este art铆culo, escribimos una aplicaci贸n simple y la publicamos en NPM como un m贸dulo p煤blico para que otros desarrolladores la utilicen cuando les convenga.

    Es posible que en el futuro se encuentre con una situaci贸n en la que no encuentre un m贸dulo disponible para resolver su problema particular. Puede escribir la soluci贸n usted mismo y cargarla en NPM, y tal vez ayudar a otros desarrolladores con el mismo problema.

     

    Etiquetas:

    Deja una respuesta

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