Creare e eseguire un progetto LoopBack
Cos'è LoopBack?
LoopBack è un framework Node.js altamente scalabile sviluppato da IBM per costruire API e microservizi. Offre potenti strumenti e funzionalità che consentono agli sviluppatori di creare, testare e distribuire facilmente API. LoopBack utilizza un approccio di sviluppo guidato dai modelli (MDD) che consente di generare rapidamente API RESTful e supporta vari collegamenti a database.
Caratteristiche principali e vantaggi di LoopBack
- Sviluppo guidato dai modelli: Genera automaticamente API RESTful definendo modelli.
- Supporto multi-database: Supporta vari database come MongoDB, MySQL, PostgreSQL, MariaDB, ecc.
- Potenti strumenti CLI: LoopBack CLI offre comandi ricchi che semplificano la creazione e gestione dei progetti.
- Ampia gamma di plugin ed estensioni: Dispone di numerosi plugin ed estensioni per integrare facilmente servizi e librerie di terze parti.
- Autenticazione e autorizzazione degli utenti integrate: Fornisce potenti meccanismi di autenticazione e autorizzazione degli utenti.
Utilizzare LoopBack può aiutare gli sviluppatori a creare rapidamente applicazioni web e API ad alte prestazioni e scalabili.
Creare ed eseguire un progetto LoopBack con ServBay
In questo articolo, utilizzeremo l'ambiente Node.js fornito da ServBay per creare ed eseguire un progetto LoopBack. Utilizzeremo la funzione "hosting" di ServBay per impostare il server web e, tramite il proxy inverso, per accedere al progetto.
Creazione del progetto LoopBack
Installare LoopBack CLI
Innanzitutto, assicuratevi di aver installato l'ambiente Node.js fornito da ServBay. Quindi, utilizzate il seguente comando per installare globalmente LoopBack CLI:
bashnpm install -g @loopback/cli
1Inizializzare il progetto
Creare un nuovo progetto LoopBack nella directory principale del sito suggerita da ServBay
/Applications/ServBay/www
:bashcd /Applications/ServBay/www lb4 app servbay-loopback-app
1
2Seguire i suggerimenti inserendo il nome del progetto (si consiglia
servbay-loopback-app
) e selezionare altre opzioni secondo necessità.Installare le dipendenze
Entrare nella directory del progetto e installare le dipendenze:
bashcd servbay-loopback-app npm install
1
2
Modificare il contenuto di output del progetto LoopBack
Modificare il file
src/controllers/ping.controller.ts
Aprire il file
src/controllers/ping.controller.ts
e modificare il contenuto in modo che la pagina web mostri "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
Entrare in modalità di sviluppo
Eseguire il server di sviluppo
Avviare il server di sviluppo e specificare la porta (ad esempio: 8585):
bashPORT=8585 npm start
1Questo avvierà un server di sviluppo locale e aprirà la porta 8585.
Configurare il proxy inverso dell'hosting di ServBay
Utilizzare la funzione "hosting" di ServBay per accedere al server di sviluppo tramite proxy inverso. Nelle impostazioni di "hosting" di ServBay, aggiungere un nuovo proxy inverso:
- Nome:
My first LoopBack dev site
- Dominio:
servbay-loopback-test.dev
- Tipo di hosting:
Proxy inverso
- IP:
127.0.0.1
- Porta:
8585
Per i dettagli sui passaggi di configurazione, fare riferimento a aggiungere un sito di sviluppo Nodejs.
- Nome:
Accedere alla modalità di sviluppo
Apri il browser e visita
https://servbay-loopback-test.dev/ping
per visualizzare il progetto in tempo reale. Poiché ServBay supporta domini personalizzati e certificati SSL gratuiti, beneficerai di una maggiore sicurezza.
Distribuire la versione di produzione
Preparare l'ambiente di produzione
Assicurarsi che il progetto funzioni correttamente nell'ambiente di produzione. Di solito, i progetti LoopBack non richiedono passaggi di build speciali, ma potrebbe essere necessario impostare alcune variabili di ambiente o altre configurazioni.
Eseguire il server di produzione
Avviare il server di produzione e specificare la porta (ad esempio: 8586):
bashPORT=8586 NODE_ENV=production npm start
1Configurare il proxy inverso dell'hosting di ServBay
Utilizzare la funzione "hosting" di ServBay per accedere al server di produzione tramite proxy inverso. Nelle impostazioni di "hosting" di ServBay, aggiungere un nuovo proxy inverso:
- Nome:
My first LoopBack production site
- Dominio:
servbay-loopback-test.prod
- Tipo di hosting:
Proxy inverso
- IP:
127.0.0.1
- Porta:
8586
- Nome:
Accedere alla modalità di produzione
Apri il browser e visita
https://servbay-loopback-test.prod
per visualizzare la versione di produzione. Attraverso il dominio personalizzato di ServBay e i certificati SSL gratuiti, il tuo sito web avrà maggiore sicurezza e affidabilità.
Collegamento ai database
ServBay fornisce il supporto per i database Redis, MariaDB, PostgreSQL e MongoDB. Di seguito sono riportati esempi su come collegarsi a questi database.
Collegarsi a MongoDB
Installare
@loopback/connector-mongodb
:bashnpm install --save @loopback/connector-mongodb
1Configurare quindi la fonte dati nel progetto:
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
20Collegarsi a Redis
Installare
loopback-connector-redis
:bashnpm install --save loopback-connector-redis
1Configurare quindi la fonte dati nel progetto:
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
15Collegarsi a MariaDB
Installare
@loopback/connector-mysql
:bashnpm install --save @loopback/connector-mysql
1Configurare quindi la fonte dati nel progetto:
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
20Collegarsi a PostgreSQL
Installare
@loopback/connector-postgresql
:bashnpm install --save @loopback/connector-postgresql
1Configurare quindi la fonte dati nel progetto:
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
Seguendo i passaggi sopra descritti, hai creato e gestito con successo un progetto LoopBack utilizzando le funzionalità offerte da ServBay e collegato vari database.