Workshop Fullstack JS Developer
  • Bienvenid@s 👨🏼‍💻👩🏻‍💻
  • Prerequisitos 💻🔧
  • Backend
    • Introducción
      • Configuración Inicial
    • Node.js
    • Express.js
      • Configuración
      • Carpeta API
      • Rutas 🚂
    • Mongoose.js 🍃
      • Conectando a Mongosse 🔌
      • Esquemas y Modelos
      • Métodos
      • Rutas
      • Retos 🕵🏻‍♀️ 💻 🕵🏻‍♂️
    • Passport.js 🎟
      • Modelo User 🚶🏼‍♂️🚶🏻‍♀️
      • Estrategia Local
      • Autenticación Service
      • API users
      • Configuración Passport.js
      • Middleware
      • Retos 🦸🏻‍♀️🕵🏼‍♂️
    • Despliegue 🚀
  • Frontend
    • ReactJS 💙
      • Configuración Inicial
      • Componentes
      • Páginas
      • Rutas 🚧
      • Conectando la API
      • Authenticación 🔑
      • Despliegue 🚀
  • GraphQL
    • GraphQL
      • Configuración del Servidor
      • Configuración del Cliente
Powered by GitBook
On this page
  • Middleware
  • Estructura del proyecto
  • Instalar Express.js
  • Servidor con Express.js
  • Repositorio: Code Base

Was this helpful?

  1. Backend

Express.js

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

PreviousNode.jsNextConfiguración

Last updated 5 years ago

Was this helpful?

Express.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.

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 i -S express

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:app.js

app.js
/**
 * Main application file
 */

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.index.js

index.js
/**
 * Export the application
 */
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 más profesional.

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 que utiliza todos los verbos HTTP, para mostrar cómo trabaja. Vamos allá!

Repositorio:

CRUD (Create/Read/Update/Delete)
Code Base