Crear y ejecutar un proyecto Express.js
¿Qué es Express.js?
Express.js es un marco de aplicación web rápido, abierto y minimalista basado en Node.js. Proporciona una serie de potentes características para construir aplicaciones web de una sola página, de varias páginas e híbridas. Express.js es uno de los marcos más populares en el ecosistema de Node.js, amado por los desarrolladores por su diseño simple y flexible.
Principales características y ventajas de Express.js
- Simplicidad y flexibilidad: Express.js ofrece una API sencilla y un mecanismo de middleware flexible, lo que hace que el desarrollo de aplicaciones web sea muy eficiente.
- Middleware: Soporta varios middleware, que permiten manejar fácilmente solicitudes y respuestas.
- Enrutamiento: Potentes funciones de enrutamiento que permiten manejar solicitudes basadas en diferentes métodos HTTP y rutas URL.
- Alta integración: Se puede integrar sin problemas con varios motores de plantillas, bases de datos y otros módulos de Node.js.
- Comunidad y ecosistema: Tiene una gran comunidad y soporte de numerosos middleware y complementos de terceros.
Usar Express.js ayuda a los desarrolladores a construir rápidamente aplicaciones web y API de alto rendimiento.
Crear y ejecutar un proyecto Express.js usando ServBay
En este artículo, usaremos el entorno Node.js que ofrece ServBay para crear y ejecutar un proyecto Express.js. Usaremos la función "Host" de ServBay para configurar el servidor web y acceder al proyecto a través de un proxy inverso.
Crear un proyecto Express.js
Inicializar el proyecto
Primero, asegúrate de que ya has instalado el entorno Node.js que ofrece ServBay. Luego, usa el siguiente comando para inicializar un nuevo proyecto Express.js:
bashcd /Applications/ServBay/www npx express-generator servbay-express-app
1
2Instalar dependencias
Entra en el directorio del proyecto e instala las dependencias:
bashcd servbay-express-app npm install
1
2
Modificar el contenido de salida del proyecto Express.js
Modificar el archivo
routes/index.js
Abre el archivo
routes/index.js
y modifica su contenido para que la página web muestre "Hello ServBay!":javascriptvar express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.send('Hello ServBay!'); }); module.exports = router;
1
2
3
4
5
6
7
8
9
Entrar en modo de desarrollo
Ejecutar el servidor de desarrollo
Inicia el servidor de desarrollo y especifica el puerto (por ejemplo: 8585):
bashPORT=8585 DEBUG=servbay-express-app:* npm start
1Esto iniciará un servidor de desarrollo localmente y expondrá el puerto 8585.
Configurar proxy inverso en ServBay Host
Usa la función "Host" de ServBay para acceder al servidor de desarrollo a través de un proxy inverso. En la configuración de "Host" de ServBay, añade un nuevo proxy inverso:
- Nombre:
My first Express.js dev site
- Dominio:
servbay-express-test.dev
- Tipo de Host:
Proxy Inverso
- IP:
127.0.0.1
- Puerto:
8585
Para pasos de configuración detallados, consulta agregar un sitio web de desarrollo Nodejs.
- Nombre:
Acceder al modo de desarrollo
Abre el navegador y visita
https://servbay-express-test.dev
para ver el proyecto en tiempo real. Gracias al soporte de ServBay para dominios personalizados y certificados SSL gratuitos, disfrutarás de mayor seguridad.
Desplegar la versión de producción
Preparar el entorno de producción
Asegúrate de que tu proyecto funcione correctamente en el entorno de producción. Normalmente, un proyecto Express.js no requiere pasos de construcción especiales, pero puede que necesites configurar algunas variables de entorno u otras configuraciones.
Ejecutar el servidor de producción
Inicia el servidor de producción y especifica el puerto (por ejemplo: 8586):
bashPORT=8586 NODE_ENV=production npm start
1Configurar proxy inverso en ServBay Host
Usa la función "Host" de ServBay para acceder al servidor de producción a través de un proxy inverso. En la configuración de "Host" de ServBay, añade un nuevo proxy inverso:
- Nombre:
My first Express.js production site
- Dominio:
servbay-express-test.prod
- Tipo de Host:
Proxy Inverso
- IP:
127.0.0.1
- Puerto:
8586
- Nombre:
Acceder al modo de producción
Abre el navegador y visita
https://servbay-express-test.prod
para ver la versión de producción. Con los dominios personalizados de ServBay y los certificados SSL gratuitos, tu sitio web tendrá mayor seguridad y credibilidad.
Conexión a bases de datos
ServBay ofrece soporte para bases de datos Redis, MariaDB, PostgreSQL y MongoDB. A continuación, se muestra cómo conectar estas bases de datos.
Conectar MongoDB
Instalar
mongoose
:bashnpm install mongoose
1Luego, incluirlo y conectarlo en el proyecto:
javascriptvar mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-express-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3Conectar Redis
Instalar
redis
:bashnpm install redis
1Luego, incluirlo y conectarlo en el proyecto:
javascriptvar redis = require('redis'); var client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6Conectar MariaDB
Instalar
mariadb
:bashnpm install mariadb
1Luego, incluirlo y conectarlo en el proyecto:
javascriptvar mariadb = require('mariadb'); var pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_express_app' }); pool.getConnection() .then(conn => { console.log("Conectado a MariaDB"); conn.release(); //liberar a la piscina }) .catch(err => { console.log("No se pudo conectar debido a un error: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Conectar PostgreSQL
Instalar
pg
:bashnpm install pg
1Luego, incluirlo y conectarlo en el proyecto:
javascriptvar { Pool } = require('pg'); var pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_express_app', password: 'password', port: 5432, }); pool.connect((err, client, done) => { if (err) throw err; console.log('Conectado a PostgreSQL'); done(); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Con los pasos anteriores, has creado y ejecutado con éxito un proyecto Express.js, utilizando las funciones proporcionadas por ServBay para gestionar y acceder a tu proyecto, y conectando a varias bases de datos.