Crear y ejecutar un proyecto LoopBack
¿Qué es LoopBack?
LoopBack es un framework altamente escalable de Node.js desarrollado por IBM, utilizado para construir API y microservicios. Provee herramientas y características poderosas que permiten a los desarrolladores crear, probar y desplegar APIs fácilmente. LoopBack adopta un enfoque de desarrollo dirigido por modelos (MDD), permitiendo generar rápidamente APIs RESTful, y soporta múltiples conexiones a bases de datos.
Principales características y ventajas de LoopBack
- Desarrollo dirigido por modelos: Genera automáticamente APIs RESTful mediante la definición de modelos.
- Soporte para múltiples bases de datos: Compatible con varias bases de datos como MongoDB, MySQL, PostgreSQL, MariaDB, etc.
- Herramientas CLI poderosas: LoopBack CLI ofrece una amplia gama de comandos que simplifican la creación y gestión de proyectos.
- Plugins y extensiones abundantes: Posee una gran cantidad de plugins y extensiones que permiten integrar fácilmente servicios y librerías de terceros.
- Autenticación y autorización de usuarios integradas: Proporciona mecanismos de autenticación y autorización de usuarios robustos.
Utilizando LoopBack, los desarrolladores pueden construir rápidamente aplicaciones web y APIs de alto rendimiento y escalabilidad.
Crear y ejecutar un proyecto LoopBack usando ServBay
En este artículo, utilizaremos el entorno Node.js proporcionado por ServBay para crear y ejecutar un proyecto LoopBack. Usaremos la función de 'host' de ServBay para configurar el servidor web y acceder al proyecto a través de un proxy inverso.
Crear un proyecto LoopBack
Instalar LoopBack CLI
Primero, asegúrese de instalar el entorno Node.js proporcionado por ServBay. Luego, instale LoopBack CLI globalmente con el siguiente comando:
bashnpm install -g @loopback/cli
1Inicializar el proyecto
Cree un nuevo proyecto LoopBack en el directorio raíz recomendado por ServBay
/Applications/ServBay/www
:bashcd /Applications/ServBay/www lb4 app servbay-loopback-app
1
2Ingrese el nombre del proyecto según se le solicita (se recomienda nombrarlo
servbay-loopback-app
) y seleccione otras opciones según sea necesario.Instalar dependencias
Ingrese al directorio del proyecto e instale las dependencias:
bashcd servbay-loopback-app npm install
1
2
Modificar el contenido de salida del proyecto LoopBack
Modificar el archivo
src/controllers/ping.controller.ts
Abra el archivo
src/controllers/ping.controller.ts
y modifique el contenido para que la página web muestre "Hello ServBay!":typescriptimport {get} from '@loopback/rest'; export class PingController { constructor() {} @get('/ping') ping(): string { return 'Hello ServBay!'; } }
1
2
3
4
5
6
7
8
9
10
Entrar en modo de desarrollo
Ejecutar el servidor de desarrollo
Inicie el servidor de desarrollo y especifique el puerto (por ejemplo: 8585):
bashPORT=8585 npm start
1Esto iniciará un servidor de desarrollo local y expondrá el puerto 8585.
Configurar el proxy inverso del host en ServBay
Utilice la función de '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ñada un nuevo proxy inverso:
- Nombre:
My first LoopBack dev site
- Dominio:
servbay-loopback-test.dev
- Tipo de host:
Proxy inverso
- IP:
127.0.0.1
- Puerto:
8585
Consulte los detalles de configuración en agregar sitio de desarrollo de Nodejs.
- Nombre:
Acceder en modo de desarrollo
Abra el navegador y visite
https://servbay-loopback-test.dev/ping
para ver el proyecto en tiempo real. Gracias al soporte de ServBay para dominios personalizados y certificados SSL gratuitos, disfrutará de una mayor seguridad.
Desplegar la versión de producción
Preparar el entorno de producción
Asegúrese de que su proyecto funcione correctamente en el entorno de producción. Normalmente, los proyectos LoopBack no requieren pasos de construcción especiales, pero puede que necesite configurar algunas variables de entorno u otras configuraciones.
Ejecutar el servidor de producción
Inicie el servidor de producción y especifique el puerto (por ejemplo: 8586):
bashPORT=8586 NODE_ENV=production npm start
1Configurar el proxy inverso del host en ServBay
Utilice la función de '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ñada un nuevo proxy inverso:
- Nombre:
My first LoopBack production site
- Dominio:
servbay-loopback-test.prod
- Tipo de host:
Proxy inverso
- IP:
127.0.0.1
- Puerto:
8586
- Nombre:
Acceder en modo de producción
Abra el navegador y visite
https://servbay-loopback-test.prod
para ver la versión de producción. Con los dominios personalizados y certificados SSL gratuitos de ServBay, su sitio web tendrá mayor seguridad y confiabilidad.
Conexión a bases de datos
ServBay proporciona soporte para bases de datos como Redis, MariaDB, PostgreSQL y MongoDB. A continuación se muestran ejemplos de cómo conectar estas bases de datos.
Conectar a MongoDB
Instale
@loopback/connector-mongodb
:bashnpm install --save @loopback/connector-mongodb
1Luego configure la fuente de datos en el proyecto:
typescript// src/datasources/mongodb.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'mongodb', connector: 'mongodb', url: 'mongodb://localhost/servbay-loopback-app', host: 'localhost', port: 27017, user: '', password: '', database: 'servbay-loopback-app', }; export class MongodbDataSource extends juggler.DataSource { static dataSourceName = 'mongodb'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20Conectar a Redis
Instale
loopback-connector-redis
:bashnpm install --save loopback-connector-redis
1Luego configure la fuente de datos en el proyecto:
typescript// src/datasources/redis.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'redis', connector: 'redis', url: 'redis://localhost:6379', }; export class RedisDataSource extends juggler.DataSource { static dataSourceName = 'redis'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Conectar a MariaDB
Instale
@loopback/connector-mysql
:bashnpm install --save @loopback/connector-mysql
1Luego configure la fuente de datos en el proyecto:
typescript// src/datasources/mariadb.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'mariadb', connector: 'mysql', url: '', host: 'localhost', port: 3306, user: 'root', password: 'password', database: 'servbay_loopback_app', }; export class MariaDbDataSource extends juggler.DataSource { static dataSourceName = 'mariadb'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20Conectar a PostgreSQL
Instale
@loopback/connector-postgresql
:bashnpm install --save @loopback/connector-postgresql
1Luego configure la fuente de datos en el proyecto:
typescript// src/datasources/postgresql.datasource.ts import {juggler} from '@loopback/repository'; const config = { name: 'postgresql', connector: 'postgresql', url: '', host: 'localhost', port: 5432, user: 'user', password: 'password', database: 'servbay_loopback_app', }; export class PostgresqlDataSource extends juggler.DataSource { static dataSourceName = 'postgresql'; constructor() { super(config); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Con los pasos anteriores, ha creado y ejecutado con éxito un proyecto LoopBack utilizando las características ofrecidas por ServBay para gestionar y acceder su proyecto, conectando además a varias bases de datos.