Creación de un Servidor Básico con Express.js en Node.js
Resumen
Crear tu primer servidor web, o servidor HTTP, con NodeJS es súper sencillo. Para esto utilizaremos una de las librerías más populares de NPM como lo es Express.js.
¿Qué es ExpressJS?
Una de las dependencias más antiguas, pero completamente vigente y recomendada, para trabajar con aplicaciones web en NodeJS es Express.js. La misma te permitirá, en pocas líneas de código, exponer tu primer servidor web y crear tu primera API.
Consejos sobre NPM
Siempre que instales una dependencia de terceros que se encuentren en NPM, te aconsejo que ingreses a su respectiva página para obtener más información de la librería.
La página de ExpressJS en NPM indica que la mismo posee más de 24 millones de descargas en la última semana. Además de encontrar más información como el repositorio en GitHub y ejemplos básicos de instalación y uso de la librería, licencia, entre otros datos.
Como todo el código de NPM es público, te encontrarás con miles y miles de librerías deprecadas (viejas) o de dudosa procedencia. Es aconsejable que aprendas a analizar qué librerías utilizar y cuáles no convenga utilizar, ya que no tiene mantenimiento o muy poca gente la utiliza.
Hola Mundo con ExpressJS
Así como ya has realizado el ""Hola Mundo"" con NodeJS, es momento de hacerlo con ExpressJS.
Paso 1: Instalación de ExpressJS
Levantar tu primer servidor y exponer una API con ExpressJS es súper sencillo. Comienza instalando la librería de NodeJS utilizando el comando npm i express. En cuestión de segundos, tendrás disponible la utilización de esta librería en tu proyecto.
Tal vez te llame la atención la creación de un directorio en tu proyecto llamado node_modules. Dentro de esta carpeta, encontrarás muchas otras. Cada una de ellas hace referencia a una dependencia distinta y entre ellas, seguro encontrarás a ExpressJS.
También observa el archivo package.json, en la sección dependencies, se listarán cada una de las dependencias que tu proyecto utiliza con su respectiva versión.
{ ...
""dependencies"":{""express"":""^4.18.1""}}
Paso 2: Implementado el servidor con ExpressJS
En la propia página de ExpressJS, o de cualquier tecnología, encontrarás muy buena documentación de cómo empezar a usar la misma.
Será importante, a lo largo de tu carrera como programador, que aprendas a buscar esta documentación y apoyarte de ella para aprender a utilizar una librería o una tecnología.
A continuación, observemos el siguiente código de Javascript que puedes utilizar en el archivo index.js de tu aplicación.
// Importamos Express desde la carpeta node_modulesconst express =require('express');// Creamos la aplicación de Expressconst app =express();// Escojemos un puerto por el que el servidor web escucharáconst port =3000;// Página para visualizar el mensaje ""¡Hola Express!""app.get('/',(req, res)=>{ res.send('¡Hola Express!');});// Activamos el servidor en el puerto 3000app.listen(port,()=>{console.log(`¡Servidor listo!`);});
¿Qué es un puerto?
Puedes entender el concepto de ""puertos"" en un computador como una puerta identificada por un determinado número por la cual es posible enviar y recibir información de un sistema o subsistema hacia otro.
En este ejemplo estamos utilizando el puerto 3000. Puedes utilizar el que tú quieras desde el número 1024 hasta el 65536. De momento no es relevante el porqué de este rango de números.
Paso 3: Ejecutando el servidor
Luego de haber instalado la librería de Express y haber preparado el código para levantar un servidor web, es momento de ejecutarlo con el comando node index.js.
En cuestión de segundos, tu servidor estará escuchando en el puerto 3000. Esto quiere decir que si ingresas a http://localhost:3000/, en cualquier navegador web, podrás observar el mensaje ¡Hola Express!.
Eso nos indica que has logrado levantar tu primer servidor web. ¡Felicidades!
Conclusión
Así de sencillo es instalar dependencias y usarlas. Aún puede parecerte poco intuitivo todo lo que hemos realizado en esta clase, pero te aseguro que en poco tiempo serán tareas triviales de todos los días, la instalación de librerías, la lectura de su documentación para aprender a utilizarlas y su correcta implementación en tu código.
Local: npm install <cosa>. Al instalar librerías así, éstas serán almacenadas en la carpeta node_modules y solo las podrán ver los archivos de nuestro proyecto.
Global:npm install -g <cosa>. Al instalar librerías así, serán almacenadas de manera que todo nuestro computador pueda verlas.
Instalar las cosas localmente es muy bueno, ya que quizás en un proyecto necesitas una versión de express, mientras que en otro proyecto necesitas otra versión de express (o cualquier otro módulo). En ese caso, tener una instalación global causaría conflictos. Rara vez querréis instalar cosas globalmente en npm.
Esa siempre fue mi pregunta del porque hay unas que son -g y otras no pero veo que aclarastes muy bien ese tema gracias bro
Importamos ExpressJS para usarlo en nuestro Proyecto
Creamos una Aplicación con ExpressJS
Le decimos a Express que cuando la URL raíz reciba una petición, responda "Hola"
Le decimos que escuche continuamente en el puerto 8080 las peticiones de los clientes para que todo el tiempo pueda responderles
Y LISTO! Ya creaste Tu Primer Hola Mundo Con Node y ExpressJS
Hola, mundo!😭
Si tuviste problemas a la hora de abrir tu Local Host asegurate de haber apagado el servidor con contol c y luego de volver a iniciarlo, tal como él lo indica, a mi me sucedió.
Gracias!!!
como se puede iniciar?
si con la c puedo apagarlo pero no se como iniciarlo
A los que, como a mi, no les funcionó el localhost/8080 fijense que cuando abren el servidor de mokepon desde el HTML la dirección es 127.0.0.1 (al menos para mi) ese sería el localhost entonces le ponen 127.0.0.1:8080/ y les sale el Hola
gracias
gracias
nunca imagine llegar tan lejos , muy buena clase
El código por si alguien lo necesita
//importamos express.js para utilizarlo en nuestro proyectoconst express =require('express')// creamos un app con express.jsconst app =express()// Le decimos a express.js que cuando en la Url raiz reciba una peticion responda '¡Hola Express!'app.get('/',(req,res)=>{ res.send('¡Hola Express!')})//Le decimos que escuche continuamente en el puerto 8080 las peticiones de los clientes para que pueda responderlasapp.listen(8080,()=>{console.log('Servidor funcionando')})
El resumen perfecto
Gracias por el resumen.
yo antes de instalar el express por error cerré la consola y la volví a abrir, continue instalando el express y siguiendo los pasos del index.js, cuando mande a llamar el index con node, no me lo detectaba... Resulta que era porque había realizado toda la instalación en la carpeta incorrecta al reabrir la terminal, por si a alguno le pasa el mismo error de usuario, les dejo este comentario de advertencia jajaja
me había pasado lo mismo!!!
el app.listen no me reconoce el puerto "8080"
cambialo a 5500
Una forma más corta de usar el comando, es sustituir "install" por i
En vez de
npm install <cosa>
Usamos:
npm i <cosa>
Y se puede usar con cualquier flag :D
Un aporte que creo les servirá a varios: Cuando quieran cargar su servidor deben copiar
http://localhost:8080/
ya que si solo ponen localhost:8080tomará por defecto el protocolo https y arrojará un error.
parece facil ajajajaja o la profe lo esta haciendo ver sencillo! TENGO MIEDO!!
Es fácil, lo difícil aun está por venir.
que es lo que parece facil ? , el copiar y tipear todo lo que la profe dice ? jaja si eso es facilicimo , lo complicado es entenderlo jaja 😂😂
++Resumen de la clase++
En esta clase aprendimos a crear un servidor web con la libería de Express. Lo que hicimos fue:
Instalamos la librería a través de npm. Ya sabemos que npm es el que nos ayuda a instalar dependencias para nuestro proyecto. Colocamos el siguiente comando para instalar express:
Y por último, le dijimos lo que va a hacer cuando el usuario visite ese puerto. Para ello le indicamos la url en donde se va a hacer la petición, le pasamos por parámetro la petición(req) y la respuesta(res), y dentro de todo eso le dijimos que tenía que hacer:
libreria --> codigo hecho que facilita ciertos usos
ls --> listar archivos
cd --> cambiar directorio
npm --> crea el proyecto
node nombre.js --> ejecuta codigo
express.js --> permite crear servidores web simplemente
npm install express --> instala express.js
require("express") --> permite ejecutar libreria express
app.listen() --> permite iniciar el servidor
app.get() --> indica lo que se realiza cuando se inicia una solicitud del cliente
Para crear un servidor básico con Express.js en Node.js, primero necesitas tener instalado Node.js y npm en tu computadora. Express.js es un framework que facilita la creación de servidores y APIs de forma rápida y sencilla, permitiéndote manejar rutas y peticiones web fácilmente. Para comenzar, crea una carpeta para tu proyecto, entra en ella desde la terminal y escribe el comando npm init -y para generar el archivo de configuración package.json. Luego, instala Express con npm install express. Después, crea un archivo llamado index.js y dentro de él importa Express con const express = require('express'), crea una aplicación con const app = express(), define un puerto (por ejemplo, const PORT = 3000), y configura una ruta básica con app.get('/', (req, res) => { res.send('¡Hola, mundo! Servidor básico con Express.js'); }). Finalmente, inicia el servidor con app.listen(PORT, () => { console.log('Servidor ejecutándose en http://localhost:' + PORT); }). Al ejecutar node index.js en la terminal, verás el mensaje de confirmación y podrás acceder al servidor en tu navegador escribiendo http://localhost:3000. Si todo está bien, aparecerá el texto “¡Hola, mundo! Servidor básico con Express.js”. Para facilitar el desarrollo, puedes instalar la herramienta nodemon, que reinicia el servidor automáticamente cada vez que guardas cambios.
Excelente compendio de pasos, para la creación básica de un servidor. Gracias!
Hola a tod@s, a mi en el localhost me dice que no se puede acceder al sitio.
A mi me pasaba que estaba redirigiendose a https, revisa que sea http
A mi me paso, pero era por que no inicie: node index.js en el terminal
rucuerden guardar su codigo
¿Qué es ExpressJS y para qué se utiliza?
¿Qué recomendaciones existen sobre el uso de dependencias en NPM?
¿Cuántas descargas ha tenido ExpressJS en NPM en la última semana?
¿Qué es importante tener en cuenta al elegir librerías de NPM?
¿Cómo se instala ExpressJS en un proyecto de NodeJS?
¿Qué es un archivo package.json y para qué se utiliza?
¿Qué información se encuentra en la sección dependencies de un archivo package.json?
¿Qué recursos existen para aprender a usar ExpressJS?
¿Qué es un puerto en un servidor web?
¿Cómo se activa un servidor web con ExpressJS?
Gente, a lo largo de este curso, siento que mi computadora ahora habla coreano.🫠🥲