logoImagina
iconCurso
Te recomendamos nuestro curso de Node JS
Descubre el curso de Node JS
Ir al curso

Aprende Node.js – Tutorial de Primeros Pasos

iconImage
Escrito por Equipo de Imagina
Actualizado el 15-07-2024
Duración: 20 min

Node.js ha revolucionado el desarrollo web desde su introducción, permitiendo a los desarrolladores utilizar JavaScript en el servidor. Este enfoque no solo simplifica el proceso de desarrollo, sino que también mejora la eficiencia al permitir una programación full-stack con un único lenguaje de programación . En este tutorial, nos sumergiremos en los primeros pasos para comenzar con Node.js, asegurándonos de que cada concepto sea claro y aplicable para todos los entusiastas del desarrollo web, tanto novatos como avanzados.

Si estás interesado en aprender Node.js y ampliar tus habilidades en el desarrollo web, puedes consultar nuestro curso de Node.js.

Portátil con código de Node.js

¿Qué es Node.js?

Node.js es una plataforma de desarrollo basada en Google’s V8, que es el motor de Google Chrome para Javascript, para ejecutar código Javascript en cualquier plataforma, sin necesidad de que sea un navegador. Además es de código abierto con una gran comunidad detrás y se suele utilizar para realizar tareas de servidor.

Node.js maneja todas la peticiones de manera asíncrona, por lo que se continúa ejecutando el código aún si espera a la respuesta del servidor.

¿Cómo descargar Node.js?

Antes de instalar Node.js, es crucial asegurarse de que tu sistema esté preparado para acoger este entorno de ejecución. Los principales requisitos incluyen tener acceso a una terminal o línea de comandos, conocimientos básicos de JavaScript, y comprender el concepto de servidores y cómo estos interactúan con los clientes. Aunque Node.js es bastante indulgente con los principiantes, tener una base en estos temas te permitirá una curva de aprendizaje mucho más suave.

Dirígete al sitio web oficial de Node.js y haz clic en el botón de descarga correspondiente a tu sistema operativo.

Instalar Node.js en Windows

  • Haz doble clic en el archivo de instalación descargado.
    Instalador de Node.js en Windows
  • Se abrirá el asistente de instalación. Acepta los términos de la licencia y sigue las instrucciones del asistente.
  • Elige la ubicación de instalación y selecciona los componentes que deseas instalar. Para la mayoría de los casos, las opciones predeterminadas son adecuadas.
  • Haz clic en "Install" para iniciar la instalación.
  • Una vez completada la instalación, haz clic en "Finish".

Instalar Node.js en macOS

  • Abre el archivo de instalación descargado.
  • Se abrirá el asistente de instalación. Haz clic en "Continue".
  • Acepta los términos de la licencia y haz clic en "Continue".
  • Elige la ubicación de instalación y haz clic en "Install".
  • Si se te solicita, ingresa la contraseña de administrador de tu sistema.
  • Una vez completada la instalación, haz clic en "Close".

Instalar Node.js en Linux

  • Abre la terminal.
  • Navega hasta la ubicación donde se encuentra el archivo de instalación descargado.
  • Ejecuta el siguiente comando para extraer el archivo:
1 tar -xvf <nombre-del-archivo.tar.xz>
  • Navega al directorio extraído:
1 cd <nombre-del-directorio>
  • Ejecuta el siguiente comando para instalar Node.js:
1 ./configure 2 make 3 sudo make install

Verificar la instalación de Node.js

Para verificar que Node.js se ha instalado correctamente, abre la terminal y ejecuta el siguiente comando:

1node -v

Si la instalación fue exitosa, se mostrará la versión de Node.js instalada.

¿Cómo crear tu Primer Programa en Node.js?

Al iniciar con Node.js, es esencial comprender la estructura típica de un proyecto para mantener tu código organizado y accesible. Aquí te guiamos sobre cómo estructurar adecuadamente un proyecto básico en Node.js.

  1. Directorio Raíz: Este es el directorio principal donde residirán todos los archivos de tu proyecto. Es común nombrarlo con el nombre de tu proyecto.

  2. Package.json: Este archivo es el corazón de tu proyecto y contiene metadatos relevantes y las dependencias de tu proyecto. Puedes crearlo ejecutando npm init en tu terminal, lo cual lanzará un asistente para configurarlo.

  3. Node_modules: Este directorio contiene todas las librerías y módulos que tu proyecto necesita, los cuales son instalados a través de npm. Este directorio se crea automáticamente cuando instalas tu primera dependencia.

  4. Archivo principal: Usualmente llamado app.js o index.js, este es el punto de entrada de tu aplicación donde escribes la lógica principal.

  5. Directorios para código fuente:

    • /routes: Para almacenar los archivos que manejan las rutas de tu aplicación.
    • /models: Si estás usando una base de datos, aquí puedes colocar los modelos.
    • /public: Para recursos estáticos como HTML, CSS y JavaScript del lado del cliente.
    • /views: Si estás utilizando un motor de plantillas, aquí irían las plantillas.

Servidor HTTP simple en Node

Un servidor HTTP es un software que entiende las URLs (direcciones web) y los protocolos HTTP. Su principal función es aceptar solicitudes HTTP de los clientes, como navegadores web, y enviarles respuestas, ya sea en forma de archivos HTML, datos, o mensajes de error. Comprender cómo funciona un servidor HTTP es fundamental para cualquier desarrollador web, ya que es la base sobre la que se construyen casi todas las aplicaciones web.

Crear un servidor HTTP básico en Node.js es un excelente ejercicio para entender estos conceptos en la práctica. Node.js utiliza el módulo http para crear servidores. Este módulo contiene métodos que facilitan la escucha de solicitudes en un puerto específico de tu máquina.

  1. Crear un archivo para tu servidor: Llama a este archivo server.js.
  2. Utiliza el módulo HTTP de Node.js: A continuación, te mostramos cómo usar el módulo http para crear un servidor simple. Escribe el siguiente código en tu archivo server.js:
1const http = require('http'); 2 3const server = http.createServer((req, res) => { 4 if (req.url === '/') { 5 res.write('Hola Mundo!'); 6 res.end(); 7 } 8}); 9 10server.listen(8080, () => console.log('Servidor escuchando en el puerto 8080...'));
  • http.createServer(): Este método crea un servidor HTTP. Un función callback es llamada cada vez que se recibe una solicitud. La función callback toma dos argumentos, req (objeto de solicitud) y res (objeto de respuesta).
  • req.url: Proporciona la ruta de acceso en la URL.
  • res.write(): Escribe una respuesta al cliente.
  • res.end(): Finaliza la respuesta.
  • server.listen(): El servidor escucha en el puerto especificado.
  1. Ejecuta tu servidor: En la terminal, ejecuta:
1node server.js

Visita el localhost en tu navegador. Si ves el mensaje "Hola Mundo!", tu servidor está funcionando correctamente y respondiendo a las solicitudes HTTP.

¿Cómo dearrollar una API rest en Node.js?

Una API REST (Representational State Transfer) es una interfaz de programación de aplicaciones que utiliza los métodos HTTP para obtener y enviar datos. Las APIs REST son fundamentales para los desarrolladores web modernos, ya que permiten integraciones entre diferentes softwares, facilitando la comunicación y el intercambio de información entre sistemas de manera eficiente y estandarizada.

Instalar y configurar Express.js

Express.js es un marco de trabajo minimalista y flexible para Node.js que proporciona un robusto conjunto de características para aplicaciones web y móviles. Facilita la creación de servidores web y APIs de manera rápida y sencilla.

  1. Instalación de Express: Antes de poder utilizar Express, debes instalarlo utilizando npm, el gestor de paquetes de Node.js. Abre tu terminal y ejecuta el siguiente comando en el directorio de tu proyecto:
1npm install express
  1. Configuración básica:

Crea un archivo llamado app.js y escribe el siguiente código para configurar una aplicación básica de Express:

1const express = require('express'); 2const app = express(); 3 4app.get('/', (req, res) => { 5 res.send('Bienvenido a mi API REST con Express!'); 6}); 7 8const port = process.env.PORT || 3000; 9app.listen(port, () => { 10 console.log(`Servidor escuchando en el puerto ${port}...`); 11});

Este código configura un servidor que escucha en el puerto definido y responde a las solicitudes GET en la ruta raíz con un mensaje de bienvenida.

Crear API REST con Express

Express facilita la creación de rutas que responden a las solicitudes HTTP. Aquí tienes un ejemplo básico de cómo configurar una API REST:

  1. Crear un archivo server.js: Este será tu archivo principal donde configurarás el servidor y la API.
  2. Escribir el código básico de Express:
1const express = require('express'); 2const app = express(); 3const port = 3000; 4 5app.get('/', (req, res) => { 6 res.send('Bienvenido a mi API REST!'); 7}); 8 9app.listen(port, () => { 10 console.log(`Servidor corriendo en http://localhost:${port}`); 11});

Este código inicia un servidor que escucha en el puerto 3000 y tiene una ruta básica que responde con un mensaje de bienvenida.

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Manejo de rutas y datos

Para que tu API REST sea útil, necesitas manejar diferentes rutas y métodos HTTP para CRUD (Crear, Leer, Actualizar, Eliminar) operaciones:

  • GET para obtener datos.
  • POST para crear datos.
  • PUT/PATCH para actualizar datos.
  • DELETE para eliminar datos.

Aquí un ejemplo de cómo manejar estas operaciones con Express:

1app.get('/api/items', (req, res) => { 2 // Lógica para obtener y devolver todos los items 3}); 4 5app.post('/api/items', (req, res) => { 6 // Lógica para crear un nuevo item 7}); 8 9app.put('/api/items/:id', (req, res) => { 10 // Lógica para actualizar un item existente 11}); 12 13app.delete('/api/items/:id', (req, res) => { 14 // Lógica para eliminar un item 15});

Crear una base de datos en JavaScript

Ahora tenemos que crear una ‘base de datos’ en JavaScript a la cual solicitar la información. Para esto creamos un archivo db.js dentro de una carpeta db. En este archivo añadimos una entrada:

1const horario = [ 2 { 3 id: 1, 4 title: "comida", 5 description: "La hora de comer son las 2pm" 6 } 7]; 8 9module.exports = { 10 horario: horario 11}

module.exports lo que hace es darle nombre a lo que exportamos a otro archivo.

Gestión de peticiones

Ahora crearemos el archivo .js que gestione las peticiones y devuelva datos de la ‘base datos’. Llamaremos a este archivo api.js

1const express = require('express'); 2 3const db = require('./db/db'); 4 5// Inicia express 6 7const app = express(); 8 9// get horario 10 11app.get('/api/horario', function(req, res){ 12 13 res.status(200).send({ 14 success: 'true', 15 message: 'Horario conseguido satisfactoriamente', 16 horario: db.horario 17 }) 18}); 19 20const PORT = 5000; 21 22app.listen(PORT, function(){ 23 console.log(`servidor corriendo en puerto ${PORT}`) 24});

En este código lo primero que hacemos en importar express y nuestra base de datos con require.

Después iniciamos express para utilizar sus métodos, que utilizamos get, para indicarle que hacer cuando recibe una petición GET, que es la petición para obtener datos de una API Rest. Sus parámetros són la dirección http que tiene que recibir la petición y una función para manejar la petición y la respuesta. Le decimos que el status de la respuesta es 200, es decir que todo ha salido correcto y añadimos a los datos de la base de datos un mensaje de que todo ha ido bien.

Ahora solo queda utilizar el método listen para iniciar un servidor, que recibe el puerto en el que se despliega y la función a realizar al desplegarse, que en este caso es decir por consola en que puerto esta.

Prueba de la API en Postman

Para comprobar que todo ha ido bien utilizaremos la aplicación Postman para probar las APIs. Debemos descargarla desde la web oficial de Postman e instalarla. Una vez iniciada utilizamos el siguiente comando para iniciar el servidor:

1node api.js

Ahora le indicamos a postman la dirección a la que realizar el método GET y lanzamos la petición. Si todo ha salido bien, debería aparecer un mensaje así:

Vista de petición GET en Postman

Método POST para añadir datos

Ahora crearemos código para añadir un nuevo horario a través de nuestra API, para esto necesitamos instalar body-parser para cambiar el JSON que le enviamos en el body de la petición a objetos que utilizar en nuestro archivo api.js.

Para instalarlo utilizamos:

1npm install body-parser --save

Utilizamos require para importarlo:

1const bodyParser = require('body-parser');

Y le indicamos a express que tiene que utilizarlo para traducir el JSON:

1app.use(bodyParser.json()); 2app.use(bodyParser.urlencoded({ extended: false }));

Ahora ya añadimos el POST, que es la petición a una API para crear una nueva entrada:

1app.post('/api/horario', function(req, res){ 2 3 if(!req.body.title) { 4 5 return res.status(400).send({ 6 success: 'false', 7 message: 'title es necesario' 8 9 }); 10 11 } 12 else if(!req.body.description) { 13 14 return res.status(400).send({ 15 success: 'false', 16 message: 'description es necesario' 17 }); 18 } 19 20 const hora = { 21 id: db.horario[db.horario.length-1].id + 1, 22 title: req.body.title, 23 description: req.body.description 24 25 } 26 27 db.horario.push(hora); 28 29 return res.status(201).send({ 30 success: 'true', 31 message: 'Horario añadido', 32 hora 33 }) 34 });

En este código primero comprobamos que en la petición tengo tanto title cómo description, devolviendo un error en el caso que no haya salido bien, con el status 400, que quiere decir que la petición no tenía los datos necesarios.

A continuación, si todo va bien añadimos la hora a nuestra “base de datos”, utilizando horario.push y la hora que hemos creado con los datos enviados.

Para comprobar que ha ido bien volveremos a utilizar Postman, pero esta vez utilizando el método POST, y añadiendo en body el tipo de datos x-www-form-urlencoded y, aquí, el title y la descripción. Dado que no lo almacenamos en una base de datos real, si no en una archivo .js una vez reiniciemos el servidor los cambios a la “base de datos” cambien se revertirán.

Podemos realizar una parecida a esta:

Vista de petición POST en Postman

Además del mensaje satisfactorio podemos comprobar que todo ha ido bien realizando una petición GET, en la cual si todo ha ido bien deberán aparecer las dos entradas:

Vista de petición GET en Postman y respuesta recibida

Aprende Node.js desde cero

Node.js es una poderosa plataforma que te permite construir aplicaciones web eficientes y escalables. Si estás interesado en aprender más sobre Node.js y ampliar tus habilidades de desarrollo, te invitamos a consultar nuestro curso de Node.js.

No importa si eres un principiante en Node.js o ya tienes experiencia previa, nuestro curso te brindará una base sólida y te ayudará a mejorar tus habilidades de programación en este entorno.

¡No pierdas la oportunidad de dominar Node.js y llevar tus proyectos al siguiente nivel!

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *
Tutoriales relacionados
¿Qué es Symfony? El Mejor Framework PHP
¿Por qué elegir Symfony para tu próximo proyecto web? Seguridad, velocidad y flexibilidad son solo el inicio de lo que este framework PHP tiene para ofrecer
React vs Angular: ¿Cuál es Mejor?
.Descubre las diferencias clave entre React y Angular para determinar cuál es mejor para tus necesidades de desarrollo
Cómo hacer Animaciones usando CSS3 transitions
Transforma tu web con animaciones deslumbrantes. Descubre cómo crear efectos cautivadores con CSS3 transition. ¡Haz clic y sorpréndete!
Tutorial ASP.NET Core, aprende desde cero
Domina ASP.NET Core rápidamente con nuestros consejos prácticos. Aprende a construir aplicaciones web poderosas en menos tiempo. ¡Explora ahora!
Tabla de contenido
¿Qué es Node.js?
¿Cómo descargar Node.js?
Instalar Node.js en Windows
Instalar Node.js en macOS
Instalar Node.js en Linux
Verificar la instalación de Node.js
¿Cómo crear tu Primer Programa en Node.js?
Servidor HTTP simple en Node
¿Cómo dearrollar una API rest en Node.js?
Instalar y configurar Express.js
Crear API REST con Express
Manejo de rutas y datos
Crear una base de datos en JavaScript
Gestión de peticiones
Prueba de la API en Postman
Método POST para añadir datos
Aprende Node.js desde cero
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *