Crear y ejecutar un proyecto Koa.js
¿Qué es Koa.js?
Koa.js es un marco web de Node.js de próxima generación desarrollado por el equipo de Express.js. Está diseñado para ser una base más pequeña, más expresiva y más poderosa para construir aplicaciones web y API. Koa.js aprovecha las ventajas de JavaScript moderno (como async/await), lo que hace que la escritura de middleware y la gestión de solicitudes sean más sencillas e intuitivas.
Principales características y ventajas de Koa.js
- Sencillo y moderno: Utiliza la sintaxis async/await, lo que hace que el manejo de operaciones asíncronas sea más intuitivo.
- Mecanismo de middleware: Koa.js maneja las solicitudes y respuestas a través de una pila de middleware, ofreciendo gran flexibilidad.
- Ligero: El núcleo es muy pequeño, solo incluye funcionalidades básicas, pudiendo añadir middleware según sea necesario.
- Alto rendimiento: Debido a su diseño sencillo y su moderno manejo asíncrono, Koa.js tiene un rendimiento muy alto.
Usar Koa.js puede ayudar a los desarrolladores a construir rápidamente aplicaciones web y API de alto rendimiento.
Crear y ejecutar un proyecto Koa.js usando ServBay
En este artículo, utilizaremos el entorno Node.js proporcionado por ServBay para crear y ejecutar un proyecto Koa.js. Usaremos la función 'host' de ServBay para configurar el servidor web y acceder el proyecto a través de un proxy inverso.
Crear un proyecto Koa.js
Inicializar el proyecto
Primero, asegúrate de que ya tienes instalado el entorno Node.js proporcionado por ServBay. Luego, usa los siguientes comandos para inicializar un nuevo proyecto Koa.js:
bashcd /Applications/ServBay/www mkdir servbay-koa-app cd servbay-koa-app npm init -y npm install koa
1
2
3
4
5Crear el archivo de la aplicación
Crea un archivo
app.js
en el directorio raíz del proyecto y añade el siguiente código:javascriptconst Koa = require('koa'); const app = new Koa(); app.use(async ctx => { ctx.body = '¡Hola ServBay!'; }); const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Servidor ejecutándose en el puerto ${port}`); });
1
2
3
4
5
6
7
8
9
10
11
Entrar en modo de desarrollo
Ejecutar el servidor de desarrollo
Inicia el servidor de desarrollo y especifica el puerto (por ejemplo: 8585):
bashPORT=8585 node app.js
1Esto iniciará un servidor de desarrollo local y expondrá el puerto 8585.
Configurar el proxy inverso del host en ServBay
Usa la función 'host' de ServBay para acceder al servidor de desarrollo a través de un proxy inverso. En la configuración del 'host' de ServBay, añade un nuevo proxy inverso:
- Nombre:
Mi primer sitio de desarrollo con Koa.js
- Dominio:
servbay-koa-test.dev
- Tipo de host:
Proxy inverso
- IP:
127.0.0.1
- Puerto:
8585
Consulta añadir un sitio web de desarrollo Node.js para pasos detallados.
- Nombre:
Acceder al modo de desarrollo
Abre el navegador y visita
https://servbay-koa-test.dev
para ver el proyecto en tiempo real. Como ServBay soporta nombres de dominio 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 se ejecute correctamente en producción. Generalmente, los proyectos Koa.js no necesitan pasos especiales de construcción, pero puede que necesites configurar variables de entorno adicionales.
Ejecutar el servidor de producción
Inicia el servidor de producción y especifica el puerto (por ejemplo: 8586):
bashPORT=8586 NODE_ENV=production node app.js
1Configurar el proxy inverso del host en ServBay
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 del 'host' de ServBay, añade un nuevo proxy inverso:
- Nombre:
Mi primer sitio de producción con Koa.js
- Dominio:
servbay-koa-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-koa-test.prod
para ver la versión de producción. Con los nombres de dominio personalizados y certificados SSL gratuitos de ServBay, 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 muestran ejemplos de cómo conectar estas bases de datos.
Conectar a MongoDB
Instala
mongoose
:bashnpm install mongoose
1Luego, inclúyelo y conéctalo en tu proyecto:
javascriptconst mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-koa-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3Conectar a Redis
Instala
redis
:bashnpm install redis
1Luego, inclúyelo y conéctalo en tu proyecto:
javascriptconst redis = require('redis'); const client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6Conectar a MariaDB
Instala
mariadb
:bashnpm install mariadb
1Luego, inclúyelo y conéctalo en tu proyecto:
javascriptconst mariadb = require('mariadb'); const pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_koa_app' }); pool.getConnection() .then(conn => { console.log("Conectado a MariaDB"); conn.release(); // liberar a la piscina }) .catch(err => { console.log("No conectado debido al error: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Conectar a PostgreSQL
Instala
pg
:bashnpm install pg
1Luego, inclúyelo y conéctalo en tu proyecto:
javascriptconst { Pool } = require('pg'); const pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_koa_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 Koa.js, utilizando las funciones de ServBay para gestionar y acceder a tu proyecto, y conectándote a varias bases de datos.