Express.js
"Fast, unopinionated, minimalist web framework for Node.js"

Express es un marco de aplicaciĂłn web Node.js mĂnimo y flexible que proporciona un conjunto robusto de caracterĂsticas para aplicaciones web.
Con una gran cantidad de métodos de utilidad HTTP y middleware a su disposición, crear una API robusta es rápido y fácil.
El primer paso para implementar un sitio web moderno es la construcciĂłn de un API REST que podemos consumir desde una aplicaciĂłn web, mobile o nativa.
Una API RESTful es aquella que emplea todos los verbos HTTP (GET, POST, PUT y DELETE mayormente) Como ejemplo para este tutorial, desarrollaré una aplicación CRUD (Create/Read/Update/Delete) que utiliza todos los verbos HTTP, para mostrar cómo trabaja. Vamos allá!
Middleware
Middleware es una funciĂłn que sigue convenciones especĂficas. En este proyecto utilizaremos varios middlewares propios y otros más instalados como dependencias.
Estructura del proyecto
Antes de comenzar a instalar las dependencias necesarias para nuestro proyecto quiero mostrar cĂłmo sera la estructura de este proyecto para que te familiarices y puedas entender mejor este taller.
Cada aplicaciĂłn necesita ajustes de configuraciĂłn y la mayorĂa de los lenguajes de programaciĂłn / ecosistemas tiene algĂşn tipo de soporte y convenciĂłn por defecto para Ă©l.
La mayorĂa de las aplicaciones Java se basan en archivos .properties;
.Net tiene sus archivos estándar app.config y web.config;
Ruby on Rails carga la configuraciĂłn desde config/application.rb, Initializers and After-initializers;
Node.js no tiene una forma estándar de administrar estos ajustes, pero hay muchas opciones disponibles.
Esta será la estructura base de nuestro proyecto, esta se denomina Folder-by-feature
backend-js-shopping
├── api
│ ├── helloWorld
│ │ ├── helloWorld.controller.js
│ │ └── index.js
│ ├── product
│ │ ├── product.controller.js
│ │ ├── product.model.js
│ │ └── index.js
│ └── user
│ ├── user.controller.js
│ ├── user.model.js
│ └── index.js
├── auth
│ ├── facebook
│ ├── google
│ ├── local
│ │ ├── passport.js
│ │ └── index.js
│ ├── auth.service.js
│ └── index.js
├── config
│ ├── environment
│ │ ├── development.js
│ │ ├── production.js
│ │ ├── shared.js
│ │ └── index.js
│ ├── express.js
│ └── local.env.js
├── app.js
├── routes.js
└── index.js
Instalar Express.js
Ahora instale Express en el directorio backend-js-shopping
y guárdelo en la lista de dependencias.
npm install express --save
Esto nos dará la partida para comenzar a desarrollar nuestro proyecto de Node.js con Express.js para crear la API de todo nuestro proyecto de carrito de compras.
Servidor con Express.js
Basados en la estructura de carpetas anterior, vamos a crear un nuevo archivo llamado app.js
en toda la raĂz del proyecto. Este archivo contendrá el siguiente cĂłdigo:
/**
* Main application file
* @author: Cristian Moreno Zulauaga <khriztianmoreno@gmail.com>
*/
const express = require('express');
const http = require('http');
// Setup server
const app = express();
const server = http.createServer(app);
const config = {
port: 8080,
ip: '127.0.0.1',
};
// Start server
function startServer() {
app.shoppingCartBK = server.listen(config.port, config.ip, () => {
console.log(`Express server listening on ${config.port}, in ${app.get('env')} mode`);
});
}
setImmediate(startServer);
// Expose app
module.exports = app;
Por Ăşltimo para esta primera parte sobre Express.js vamos a crear un nuevo archivo llamado index.js
y este será la entrada del proyecto.
/**
* Export the application
* @author: Cristian Moreno Zulauaga <khriztianmoreno@gmail.com>
*/
module.exports = require('./app');
Ejecutar servidor
Con la configuraciĂłn anterior ya podemos lanzar nuestra aplicaciĂłn, solo debemos correr en la terminal:
# RUN index file
node index.js
# Output >>> Express server listening on 8080, in development mode
En la siguiente secciĂłn veremos cĂłmo iniciar a configurar Express.js de una forma mas profesional.
Last updated
Was this helpful?