Entornos: Node.JS
Contents
Entornos: Node.JS#

Documentación básica de NodeJS
Índice
Configuraciones#
Instalar NodeJS#
Para instalar NodeJS es recomendable acudir a su página oficial: https://nodejs.org/es/
NodeJS CLI#
Inicializar un proyecto:
npm init
Instalar un paquete:
npm install paquete
Instalar dependencias:
npm install
Instalar paquete y grabar dependencias:
npm install express --save
Instalar un paquete y grabar dependencia de desarrollo:
npm install paquete --save-dev
Crear comandos#
Se pueden añadir nuevos comandos al package.json como sería el caso de la línea 8:
1{
2 "name": "server",
3 "version": "1.0.0",
4 "description": "",
5 "main": "index.js",
6 "scripts": {
7 "test": "echo \"Error: no test specified\" && exit 1",
8 "start": "nodemon index"
9 },
10 "author": "",
11 "license": "ISC",
12 "devDependencies": {
13 "nodemon": "^2.0.15"
14 }
15}
Para ejecutar el nuevo comando llamado start escribimos npm start
.
Archivo principal#
Se crea una caperta para el proyecto y se accede a ella desde linea de comandos.
Ejecutar
npm init
para inicializar el proyecto.Siguiendo los pasos se crea el archivo package.json con los metadatos del proyecto, unos scripts y las dependencias del proyecto.
Crear el archivo de entrada principal de la aplicación index.js (o el nombre que hayamos elegido en el manifiesto):
1// cargar libreria http:
2const http = require('http');
3// definir puerto:
4const port = 3000;
5
6// Crear servidor que tendrá una función lambda con la request y la response:
7http.createServer((req, res)=>{
8 // Escribimos la cabecera HEAD de la respuesta con el status y el content-type:
9 res.writeHead(200, {'Content-Type': 'text/plain'});
10 // escribimos el cuerpo del mensaje http BODY:
11 res.write('Muestra en navegador del servidor');
12 // cerramos la respuesta:
13 res.end();
14}).listen(port, () =>{ // se concatena un listen con el puerto y un mensaje para confirmar que el servidor esta operativo
15 console.log('Servidor ejecutandose en localhost:3000');
16});
Enrutamiento#
Este es un ejemplo de enrutamiento básico en Nodejs:
1const http = require('http');
2const port = 3000;
3
4http.createServer((req, res)=>{
5 // cargamos un switch y ponemos en valor la request:
6 switch(req.url){
7 // cada opción será una ruta:
8 case '/':
9 res.writeHead(200, {'Content-Type': 'text/plain'});
10 res.write('Muestra en navegador del servidor');
11 break;
12 case '/about':
13 res.writeHead(200, {'Content-Type': 'text/plain'});
14 res.write('Pagina About');
15 break;
16 default:
17 res.writeHead(404, {'Content-Type': 'text/plain'});
18 res.write('Pagina no existe');
19 }
20
21 res.end();
22}).listen(port, () =>{
23 console.log('Servidor ejecutandose en localhost:3000');
24});
Cargar datos en JSON#
El uso más común en Node.js es servir contenido json. Este es un ejemplo de uso:
1const http = require('http');
2const port = 3000;
3
4// establecemos una coleccion de datos hardcodeada:
5let consolas = [
6 {marca: 'Sony', modelo: 'PlayStation', lanzamiento: 1994},
7 {marca: 'Sega', modelo: 'MegaDrive ', lanzamiento: 1991},
8 {marca: 'Nintendo', modelo: 'Gameboy', lanzamiento: 1989},
9 {marca: 'Microsoft', modelo: 'XBOX', lanzamiento: 2001},
10]
11
12http.createServer((req, res)=>{
13 switch(req.url){
14 case '/':
15 res.writeHead(200, {'Content-Type': 'text/plain'});
16 res.write('Muestra en navegador del servidor');
17 break;
18 case '/about':
19 res.writeHead(200, {'Content-Type': 'text/plain'});
20 res.write('Pagina About');
21 break;
22 case '/consolas': // en esta ruta enviaremos los datos en formato json:
23 res.writeHead(200, {'Content-Type':'application/json'});
24 res.write(JSON.stringify(consolas)); // parseamos a json la colección
25 break;
26 default:
27 res.writeHead(404, {'Content-Type': 'text/plain'});
28 res.write('Pagina no existe');
29 }
30
31 res.end();
32}).listen(port, () =>{
33 console.log('Servidor ejecutandose en localhost:3000');
34});
Paquetes Interesantes#
Nodemon#
Es un comando que ejecuta el servidor node.js en modo live refresh. De forma que al realizar cambios en el código estos se refrescan.
Instalar nodemon:
npm install nodemon
Añadir comando nodemon a package.json:
1{
2 "name": "server",
3 "version": "1.0.0",
4 "description": "",
5 "main": "index.js",
6 "scripts": {
7 "test": "echo \"Error: no test specified\" && exit 1",
8 "start": "nodemon index"
9 },
10 "author": "",
11 "license": "ISC",
12 "devDependencies": {
13 "nodemon": "^2.0.15"
14 }
15}
Ejecutar nodemon:
npm start
.