Page cover

👷MEAN stack

La pila MEAN es un marco basado en JavaScript para desarrollar aplicaciones web. MEAN lleva el nombre de MongoDB , Express , Angular y Node , las cuatro tecnologías clave que componen las capas de la pila:

Significado
  • MongoDB : base de datos documental NoSQL. Los documentos JSON creados en su interfaz Angular.js se pueden enviar al servidor Express.js, donde se pueden procesar y (suponiendo que sean válidos) almacenar directamente en MongoDB para su posterior recuperación. MongoDB guarda información en un formato parecido a JSON (BSON, extensión binaria de JSON), el lenguaje de queries de MongoDB (MQL) sí está definido en JSON, y el CLI es un interpretador de JavaScript.

  • Express(.js) y Node(.js): web framework que se ejecuta en un servidor Node.js. Se trata de un “marco web minimalista, rápido y sin opiniones para Node.js”. Tiene modelos potentes para el enrutamiento de URL (haciendo coincidir una URL entrante con una función de servidor) y el manejo de solicitudes y respuestas HTTP. Al realizar solicitudes XML HTTP (XHR), GET o POST desde Angular.js, se puede conectar a las funciones de Express.js de la aplicación. Esas funciones, a su vez, utilizan los controladores Node.js de MongoDB para acceder y actualizar datos en su base de datos MongoDB.

  • Angular(.js): un framework de JavaScript del lado del cliente. Este permite ampliar etiquetas HTML con metadatos para crear experiencias web dinámicas e interactivas de manera mucho más potente que, por ejemplo, crearlas uno mismo con HTML estático y JavaScript (o jQuery). Permite comodidades como la validación de formularios o la localización y la comunicación con el servicio de back-end (Express en este caso).

Hay variaciones de la pila MEAN como MERN (reemplazando Angular.js con React.js) y MEVN (usando Vue.js).

La arquitectura MEAN está diseñada para hacer que la creación de aplicaciones web en JavaScript y el manejo de JSON sean bastante fáciles.

Arquitectura MEAN

_________________

Como instalar el stack MEAN dentro de nuestro servidor Ubuntu server:

FALTA PROBAR ESTO!

  1. Instala Node.js y npm:

sudo apt update
sudo apt install nodejs npm
  1. Instala MongoDB:

sudo apt install mongodb
  1. Instala Angular CLI globalmente:

sudo npm install -g @angular/cli
  1. Crea tu aplicación Angular:

ng new my-angular-app
  1. Instala Express.js dentro de tu aplicación Angular:

cd my-angular-app
npm install express --save
  1. Configura Express.js para servir tu aplicación Angular:

Crea un archivo server.js en la raíz de tu aplicación Angular (my-angular-app) y añade el siguiente código:

const express = require('express');
const path = require('path');

const app = express();

// Servir archivos estáticos de la carpeta 'dist' (generada por Angular CLI)
app.use(express.static(path.join(__dirname, 'dist', 'my-angular-app')));

// Ruta de inicio
app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, 'dist', 'my-angular-app', 'index.html'));
});

// Puerto de escucha
const port = process.env.PORT || '3000';
app.set('port', port);

// Iniciar el servidor
app.listen(port, () => console.log(`Server running on localhost:${port}`));
  1. Configura MongoDB:

MongoDB se instalará en tu servidor. Asegúrate de que esté en funcionamiento:

sudo systemctl start mongodb
  1. Ejecuta tu aplicación:

Primero, compila tu aplicación Angular:

ng build --prod

Luego, ejecuta tu servidor Express.js:

node server.js

Última actualización