Utilizando NPM: Inicializando un proyecto en Node.js

Utilizando NPM: Inicializando un proyecto en Node.js

¿Qué es el archivo package.json?

Nuestro proyecto echa mano de un archivo donde se definen las dependencias y alguna información adicional, vamos a crear este archivo utilizando el wizard.

  1. Vamos a crear nuestro package.json.

    $ npm init
    
  2. Como name: (nombre) del paquete tenemos que utilizar algo que sea url-friendly (url amigable), vamos a ingresar mi-app.

    Por default, se generará la primer versión de nuestra app, que en este caso sera la 1.0.0.

  3. Como description: (descripción) vamos a escribir Primera aplicación utilizando npm.

  4. Como entry point: (punto de entrada) vamos a especificar el archivo que sirve como punto de entrada a la aplicación, en nuestro caso app.js.

  5. Continua con los valores por default, hasta que salga del wizard y regrese el cursor de la linea de comandos.

    Se generará un archivo llamado package.json que contiene toda la información que acabas de definir, este archivo también se puede crear manualmente.

    {
      "name": "mi-app",
      "version": "1.0.0",
      "description": "Mi primera app en nodejs",
      "main": "app.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC"
    }
    

¿Cómo instalar de jQuery paquete como dependencia?

  1. Vamos a instalar el paquete moment como una dependencia de nuestra aplicación.

    $ npm install moment --save
    

    Cuando se instala un paquete….

    • Se crea un nuevo folder llamado node_modules que contiene los paquetes y sus dependencias.
    • Se actualiza el archivo package.json con la dependencia correspondiente.
    {
      // ....
      "dependencies": {
        "moment": "^2.14.1"
      }
    }
    

    Aquí podemos ver que dentro de dependencies existe el paquete moment.

    • El caractér ^ quiere decir que se actualice automáticamente todo lo que sea minor o patch, es decir cualquier versión después del primer punto.
    • Si reemplazamos este por el caractér ~ únicamente los patches (parches) serán actualizados.

    Estos dos, son las dos configuraciones recomendables para las dependencias.

  2. Vamos a borrar el directorio node_modules.

  3. Y nuevamente ejecutamos desde la línea de comandos…

    $ npm install
    

    Esto creará nuevamente el directorio node_modules con los paquetes requeridos y sus dependencias. Por lo anterior, en un repositorio git el código de los paquetes no suele formar parte del contenido del repositorio, solo el archivo package.json.

  4. Ahora podemos echar mano del módulo para hacer manejo de fechas en español de una forma mas sencilla.

    // app.js
    var moment = require("moment");
    moment.locale("es");
    moment.weekdays(true).forEach(function (dia) {
        console.log(dia);
    });
    
  5. Si ejecutamos nuestra app.

    $ node app.js
    

    Obtendremos…

    lunes
    martes
    miércoles
    jueves
    viernes
    sábado
    domingo