Node.Js + Express: ejemplo de creación de proyecto

Publicado por parzibyte en

Express es un framework muy popular en el ecosistema de Node y JavaScript del lado del servidor.

Casi todo programador lo conoce y muchísimas pilas o paradigmas de programación lo integran, pues es un framework para la web.

Express y Node – Comenzar proyecto

En este post vamos a ver cómo:

  1. Iniciar un proyecto de Node.Js
  2. Instalar Express, el framework web
  3. Configura rutas en Express y servir:
    1. Archivo HTML
    2. JSON
    3. Una cadena simple

Con esto tendremos una plantilla base para un servidor ligero que responda peticiones HTTP.

Comenzar proyecto con Express en Node.js

Comienza instalando Node.JS o actualizando el NPM que ya tienes.

Si todavía no tienes un proyecto con Node, inicia uno con:

npm init

1 – Iniciar proyecto con npm init

Rellena los datos que se te pidan y confirma los mismos.

Después de eso (o si ya tenías un proyecto) instala el framework express con:

npm install --save express

 

2 – Instalar express

Hola mundo con Express

En la carpeta de tu proyecto crea un archivo llamado index.js y dentro del mismo coloca el siguiente código:

Comenzamos definiendo el puerto de la app e importando a express.

Después, para configurar las rutas llamamos a la función get y le pasamos dos argumentos: la ruta y una función que se ejecuta cuando esa ruta es solicitada.

En la función recibimos la petición y la respuesta HTTP, en donde podemos leer datos o escribirlos.

Si quisiéramos configurar otras rutas como post llamaríamos a app.post de la misma manera que app.get.

La ruta / escribe una cadena leyendo el user agent de la petición.

En cambio, la ruta /pagina sirve o envía un archivo HTML usando sendFile.

path.join sirve para unir o concatenar rutas, proporciona la / o la \ dependiendo del sistema operativo. __dirname es el directorio actual.

La ruta /hola envía un JSON, codificando un objeto, usando json.

En las últimas líneas iniciamos el servidor web y capturamos errores. Si hay un error la mayoría de veces es porque el puerto está ocupado, intenta cambiarlo si eso pasa.

Para ejecutar la app ejecuta el archivo con:

node index.js

 

3 – Iniciar servidor con Express

Ahora visita en tu navegador web las rutas y verás que responden como es debido:

4 – Rutas con Express, servir JSON, HTML o cadena

A partir de esto y de la documentación oficial puedes crear aplicaciones web más poderosas.

En el futuro estaré trayendo más tutoriales sobre Express y programación del lado del servidor con JavaScript.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

3 Comments

How to install Node.js and NPM on Android using Termux app - Parzibyte's blog · mayo 31, 2019 a las 10:44 am

[…] will see a simple example with Express to test a server with Node, which we saw in this post (in […]

Instalar Node.js y NPM en Android con Termux - Parzibyte's blog · mayo 31, 2019 a las 10:45 am

[…] Vamos a ver un ejemplo sencillo con Express para probar un servidor con Node, el cual vimos en este post. […]

Variables en router de Express - Parzibyte's blog · junio 26, 2019 a las 12:52 pm

[…] provee una forma rápida de definir rutas, ya sea a través de una plantilla base o de […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: