NodeJS y NPM

NodeJS, Javascript del lado del servidor.

NodeJS es un entorno de programación en tiempo de ejecución, multiplataforma, basado en lenguaje Javascript y en el motor Chrome v8. Gestionado mediante eventos, permite realizar aplicaciones web  a través de peticiones asíncronas y a diferencia de otras librerías similares destaca por su gran rendimiento con la ayuda del motor de Javascript (v8) creado por Google. 

A continuación se indica como realizar la instalación de NodeJS como también la instalación de dependencias básicas de NodeJS.

INSTALAR NODE

Linux

  • Instalación en Debian (con acceso root)
  1. curl -sL https://deb.nodesource.com/[version] | bash -
  2. apt-get install -y nodejs
  • Instalación en Debian con wget (con acceso root)
  1. wget -qO- https://deb.nodesource.com/setup_14.x | bash -
  2. apt-get install -y nodejs
  • Instalación en Ubuntu
  1. curl -sL https://deb.nodesource.com/[version] | sudo -E bash -
  2. sudo apt-get install -y nodej

Instrucciones de instalación de las distintas versiones aquí.

Windows 

Descargar instalador desde la sección de descargas de la página de NodeJS

Versión

  1. node -v

ACTUALIZAR NODE 

  • Con npm (con acceso root)
  1. npm cache clean -f
  2. npm install -g n

Versión a actualizar

  • Última versión estable
  1. n stable
  • Última versión
  1. n latest
  • Específica
  1. n [x.x]

CONSOLA DE NODEJS

Para acceder a la consola es suficiente con introducir la palabra node desde la terminal.

  1. node

NPM 

Es el gestor de paquetes de NodeJS y viene incluido en el paquete instalador de NodeJS. NPM permite la instalación de módulos, los cuales se pueden buscar desde el buscador de NPM.

COMPROBAR VERSIÓN NPM

  1. npm -v

CREAR PROYECTO

  1. npm init

El comando init genera el archivo package.json con un contenido similar al que se muestra en la siguiente ventana de código.

  1. {
  2. "name": "proyecto_prueba",
  3. "version": "1.0.0",
  4. "description": "",
  5. "main": "index.js",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1"
  8. },
  9. "author": "",
  10. "license": "MIT"
  11. }

Comprobar versión de NPM

  1. npm -v

Actualizar a la última versión estable de NPM

  1. npm install -g npm@latest

Actualizar a la última versión de npm

  1. npm install -g npm@next

Actualizar a una versión específica

  1. npm install -g npm@[X.X]

Limpiar caché (recomendado en la instalación de paquetes)

  1. npm cache clean -f

Desactivar auditorías de NPM

  1. npm set audit false


INSTALACIÓN DE DEPENDENCIAS BÁSICAS

La instalación de dependencias se realiza mediante el gestor NPM y añadiendo el comando install seguido del nombre de la dependencia. En versiones anteriores es necesaria la opción --save o -s, sin embargo en las últimas versiones esta opción no es necesaria.

INSTALAR EXPRESS

  1. npm install express --save

La instalación de Express permite trabajar con el protocolo http, permite definir rutas, etc...

INSTALAR BODY-PARSER

  1. npm install body-parser --save

Body-parser permite convertir peticiones a objetos JSON

INSTALAR CONNECT-MULTIPARTY

  1. npm install connect-multiparty --save

Connect-multiparty permite manejar archivos para subirlos al servidor

INSTALAR MONGOOSE

  1. npm install mongoose --save

Mongoose dispone de una serie de métodos que facilitan el intercambio de datos con MongoDB.

INSTALAR NODEMON

  1. npm install nodemon --save-dev

Nodemon detecta cambios en el código y en consecuencia reinicia el servidor para actualizar los cambios. Es necesario añadirlo a la propiedad start del objeto scripts en el archivo package.json

  1. "scripts": {
  2. "test": "echo \"Error: no test specified\" && exit 1",
  3. "start": "nodemon index.js"

INSTALAR MOMENT

  1. npm install moment

Moment permite crear fechas y formatearlas en distintos formatos.


DESINSTALAR DEPENDENCIAS

Desinstalar una dependencia es similar a instalar, basta con sustituir el comando install por uninstall.

DESINSTALAR EXPRESS

  1. npm uninstall express


AUTOMATIZACIÓN DE TAREAS

NPM permite automatizar tareas desde el archivo package.json. Para ello es necesario añadir dicha tarea o tareas en la sección de scripts. A continuación un ejemplo que añade dos tareas.

  1. {
  2. "name": "proyecto_prueba",
  3. "version": "1.0.0",
  4. "description": "",
  5. "main": "index.js",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1",
  8. "tarea" : "npm audit && node index.js"
  9. },
  10. "author": "",
  11. "license": "MIT"
  12. }

Para realizar la tarea o tareas es necesario incluir el comando run seguido del nombre de la propiedad asignada

  1. npm run tarea

OBJETOS ESPECIALES DEL ENTORNO DE NODE

Buffer

Permite manejar archivos binarios

  1. console.log(Buffer(10));

Process

Muestra información del proceso de Node que se está ejecutando, información del sistema, recursos,... 

  1. console.log(process.platform);
  2. console.log(process.execPath);
  3. console.log(process.env);
  4. process.env.colorFavorito = "rojo";
  5. console.log(process.env.colorFavorito);

IMPORTAR PAQUETES EXTERNOS

Importar un paquete externo suele ser una tarea rutinaria en el entorno Node. Para importar un paquete es necesario instalarlo desde la terminal con NPM y desde el archivo JS realizar la llamada o require al archivo.  

Instalar paquete

  1. npm install express

Importar paquete

  1. var express = require("express");

En caso de error es posible comprobar si el paquete está correctamente instalado o si el nombre es el mismo que se está importando. Para ello se despliega la carpeta node_modules y en su interior se revisa  si existe la carpeta o si ésta tiene un nombre distinto. 

IMPORTAR PAQUETES LOCALES

Importar un paquete del propio proyecto es prácticamente igual que un paquete externo, la única diferencia es la ruta, ya que si solamente se indica el nombre del módulo o paquete, Node automáticamente buscará en el directorio de dependencias node_modules, por tanto, es necesario especificar la ruta exacta del módulo. A continuación un ejemplo de un módulo básico que se encuentra en la raíz del proyecto y un archivo desde donde se llama al módulo que también se encuentra en la raíz. 

modulo.js

  1. var modulo = {
  2. saludar: function(nombre){
  3. console.log("Bienvenido " + nombre);
  4. },
  5. despedir: function(nombre){
  6. console.log("Adiós " + nombre);
  7. }
  8. }
  9. module.exports = modulo;

app.js

  1. var modulo = require("./modulo");
  2. modulo.saludar(Jose);

De esta forma Node permite importar los módulos de una forma realmente sencilla, tal como incluye la línea final del código anterior (del archivo de ejemplo modulo.js), es imprescindible asignar el módulo y en caso de ser más de uno indicarlo como un objeto.

  1. module.exports = {
  2. modulo,
  3. moduloDos,
  4. moduloTres,
  5. }

PAQUETES PREINSTALADOS DE NODE

Node dispone de algunas dependencias ya preinstaladas que suelen ser las más comunes y útiles en un proyecto. Módulos como http y url para archivos externospath fs para archivos internos, util que permite comprobar tipos de datos o module que permite exportar módulos locales, se pueden consultar los módulos desde la página oficial de NodeJS.

CONEXIÓN CON BASE DE DATOS

La conexión con la base de datos se realiza con Mongoose mediante su método connect.

Ejemplo de prueba de conexión con base de datos con Mongoose en forma de promesa.

  1. "use strict"
  2. var mongoose = require("mongoose");
  3. mongoose.Promise = global.Promise;
  4. mongoose.connect("mongodb://localhost:27017/[base_datos]")
  5. .then(() => {
  6. console.log("Conexión a la base de datos establecida satisfactoriamente");
  7. })
  8. .catch(err => console.log(err));

Para comenzar la ejecución de un proyecto NodeJS y comprobar la correcta conexión es posible mediante ng serve

  1. ng serve

O si se está en la fase de desarrollo usando nodemon es posible mediante npm start 

  1. npm start


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso