Criando e executando um projeto LoopBack
O que é LoopBack?
LoopBack é um framework Node.js altamente escalável desenvolvido pela IBM, usado para criar APIs e microsserviços. Ele oferece poderosas ferramentas e recursos que permitem aos desenvolvedores criar, testar e implantar APIs com facilidade. O LoopBack usa uma abordagem de desenvolvimento orientado a modelos (MDD), permitindo a geração rápida de APIs RESTful e suporte a várias conexões de banco de dados.
Principais características e vantagens do LoopBack
- Desenvolvimento orientado a modelos: Geração automática de APIs RESTful a partir da definição de modelos.
- Suporte a múltiplos bancos de dados: Compatível com vários bancos de dados, como MongoDB, MySQL, PostgreSQL, MariaDB, etc.
- Poderosa ferramenta CLI: A CLI do LoopBack fornece diversos comandos para simplificar a criação e gestão de projetos.
- Rica variedade de plugins e extensões: Disponibilidade de muitos plugins e extensões para fácil integração com serviços e bibliotecas de terceiros.
- Autenticação e autorização de usuários integrada: Oferece um robusto mecanismo de autenticação e autorização de usuários.
Usar LoopBack pode ajudar os desenvolvedores a criar rapidamente aplicações web e APIs de alto desempenho e escaláveis.
Criando e executando um projeto LoopBack com ServBay
Neste artigo, usaremos o ambiente Node.js fornecido pelo ServBay para criar e executar um projeto LoopBack. Utilizaremos a funcionalidade de 'Host' do ServBay para configurar um servidor web e usar um proxy reverso para acessar o projeto.
Criando um projeto LoopBack
Instalando o LoopBack CLI
Primeiro, certifique-se de que você já tenha instalado o ambiente Node.js fornecido pelo ServBay. Então, use o seguinte comando para instalar globalmente o LoopBack CLI:
bashnpm install -g @loopback/cli
1Inicializando o projeto
Crie um novo projeto LoopBack no diretório raiz do site sugerido pelo ServBay
/Applications/ServBay/www
:bashcd /Applications/ServBay/www lb4 app servbay-loopback-app
1
2Siga as instruções para nomear o projeto (recomendado nome
servbay-loopback-app
) e selecione outras opções conforme necessário.Instalando dependências
Entre no diretório do projeto e instale as dependências:
bashcd servbay-loopback-app npm install
1
2
Modificando o conteúdo de saída do projeto LoopBack
Modificar o arquivo
src/controllers/ping.controller.ts
Abra o arquivo
src/controllers/ping.controller.ts
e modifique seu conteúdo para que a página da web exiba "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
Entrando no modo de desenvolvimento
Executar o servidor de desenvolvimento
Inicie o servidor de desenvolvimento e especifique uma porta (por exemplo: 8585):
bashPORT=8585 npm start
1Isso iniciará um servidor de desenvolvimento local, expondo a porta 8585.
Configurar o proxy reverso do host no ServBay
Use a funcionalidade 'Host' do ServBay para acessar o servidor de desenvolvimento via proxy reverso. Nas configurações de 'Host' do ServBay, adicione um novo proxy reverso:
- Nome:
My first LoopBack dev site
- Domínio:
servbay-loopback-test.dev
- Tipo de Host:
Proxy Reverso
- IP:
127.0.0.1
- Porta:
8585
Para encontrar as instruções detalhadas sobre como adicionar um site de desenvolvimento Node.js, consulte adicionando um site de desenvolvimento Node.js.
- Nome:
Acessar o modo de desenvolvimento
Abra o navegador e visite
https://servbay-loopback-test.dev/ping
para ver o projeto em tempo real. Como o ServBay suporta domínios personalizados e certificados SSL gratuitos, você terá maior segurança.
Implantando a versão de produção
Preparar o ambiente de produção
Certifique-se de que seu projeto está funcionando corretamente no ambiente de produção. Normalmente, projetos LoopBack não precisam de etapas especiais de build, mas você pode precisar configurar algumas variáveis de ambiente ou realizar outras configurações.
Executar o servidor de produção
Inicie o servidor de produção e especifique uma porta (por exemplo: 8586):
bashPORT=8586 NODE_ENV=production npm start
1Configurar o proxy reverso do host no ServBay
Use a funcionalidade 'Host' do ServBay para acessar o servidor de produção via proxy reverso. Nas configurações de 'Host' do ServBay, adicione um novo proxy reverso:
- Nome:
My first LoopBack production site
- Domínio:
servbay-loopback-test.prod
- Tipo de Host:
Proxy Reverso
- IP:
127.0.0.1
- Porta:
8586
- Nome:
Acessar o modo de produção
Abra o navegador e visite
https://servbay-loopback-test.prod
para ver a versão de produção. Com o domínio personalizado do ServBay e certificados SSL gratuitos, seu site terá maior segurança e confiabilidade.
Conexão com bancos de dados
O ServBay oferece suporte aos bancos de dados Redis, MariaDB, PostgreSQL e MongoDB. Abaixo estão exemplos de como conectar-se a esses bancos de dados.
Conectando ao MongoDB
Instale
@loopback/connector-mongodb
:bashnpm install --save @loopback/connector-mongodb
1Então, configure a fonte de dados no projeto:
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
20Conectando ao Redis
Instale
loopback-connector-redis
:bashnpm install --save loopback-connector-redis
1Então, configure a fonte de dados no projeto:
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
15Conectando ao MariaDB
Instale
@loopback/connector-mysql
:bashnpm install --save @loopback/connector-mysql
1Então, configure a fonte de dados no projeto:
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
20Conectando ao PostgreSQL
Instale
@loopback/connector-postgresql
:bashnpm install --save @loopback/connector-postgresql
1Então, configure a fonte de dados no projeto:
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
Seguindo os passos acima, você conseguiu criar e executar um projeto LoopBack e usar as funcionalidades fornecidas pelo ServBay para gerenciar e acessar seu projeto, enquanto se conecta a vários bancos de dados.