Créer et exécuter un projet LoopBack
Qu'est-ce que LoopBack ?
LoopBack est un cadre Node.js hautement extensible développé par IBM pour construire des API et des microservices. Il offre des outils puissants et des fonctionnalités permettant aux développeurs de créer, tester et déployer facilement des API. LoopBack utilise une approche de développement piloté par modèle (MDD) pour générer rapidement des API RESTful et prend en charge plusieurs connecteurs de base de données.
Principales caractéristiques et avantages de LoopBack
- Développement piloté par modèle : génère automatiquement des API RESTful à partir de modèles définis.
- Prise en charge de multiples bases de données : compatibilité avec différentes bases de données comme MongoDB, MySQL, PostgreSQL, MariaDB, etc.
- Outils CLI puissants : offre une commande Line Interface (CLI) riche en commandes pour simplifier la création et la gestion de projets.
- Large choix de plugins et extensions : permet une intégration facile de services et bibliothèques tiers.
- Authentification et autorisation intégrées : fournit des mécanismes puissants pour l'authentification et l'autorisation des utilisateurs.
LoopBack aide les développeurs à construire rapidement des applications web de haute performance et extensibles avec API.
Créer et exécuter un projet LoopBack avec ServBay
Dans cet article, nous utiliserons l'environnement Node.js fourni par ServBay pour créer et exécuter un projet LoopBack. Nous utiliserons la fonctionnalité 'Hosting' de ServBay pour configurer le serveur Web et accéder au projet via un proxy inversé.
Créer un projet LoopBack
Installer LoopBack CLI
Tout d'abord, assurez-vous d'avoir installé l'environnement Node.js fourni par ServBay. Ensuite, utilisez la commande suivante pour installer LoopBack CLI globalement :
bashnpm install -g @loopback/cli
1Initialiser le projet
Créez un nouveau projet LoopBack dans le répertoire racine recommandé par ServBay
/Applications/ServBay/www
:bashcd /Applications/ServBay/www lb4 app servbay-loopback-app
1
2Suivez les instructions pour entrer le nom du projet (recommandé :
servbay-loopback-app
) et sélectionnez les autres options selon vos besoins.Installer les dépendances
Accédez au répertoire du projet et installez les dépendances :
bashcd servbay-loopback-app npm install
1
2
Modifier le contenu de sortie du projet LoopBack
Modifier le fichier
src/controllers/ping.controller.ts
Ouvrez le fichier
src/controllers/ping.controller.ts
et modifiez le contenu pour que la page web affiche "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
Passer en mode développement
Exécuter le serveur de développement
Démarrez le serveur de développement et spécifiez le port (par exemple : 8585) :
bashPORT=8585 npm start
1Cela lancera un serveur de développement local et exposera le port 8585.
Configurer le proxy inversé de ServBay
Utilisez la fonctionnalité 'Hosting' de ServBay pour accéder au serveur de développement via un proxy inversé. Dans les paramètres d'hôte de ServBay, ajoutez un nouveau proxy inversé :
- Nom :
Mon premier site de développement LoopBack
- Nom de domaine :
servbay-loopback-test.dev
- Type d'hôte :
Proxy inversé
- IP :
127.0.0.1
- Port :
8585
Pour des instructions détaillées, voir ajouter un site web de développement Node.js.
- Nom :
Accéder en mode développement
Ouvrez le navigateur et accédez à
https://servbay-loopback-test.dev/ping
pour voir le projet en temps réel. Grâce à la prise en charge des noms de domaine personnalisés et des certificats SSL gratuits, vous bénéficiez d'une sécurité accrue.
Déployer la version de production
Préparer l'environnement de production
Assurez-vous que votre projet est prêt pour l'environnement de production. En général, les projets LoopBack ne nécessitent pas d'étapes de construction spéciales, mais il peut être nécessaire de configurer certaines variables d'environnement ou d'autres paramètres.
Exécuter le serveur de production
Démarrez le serveur de production et spécifiez le port (par exemple : 8586) :
bashPORT=8586 NODE_ENV=production npm start
1Configurer le proxy inversé de ServBay
Utilisez la fonctionnalité 'Hosting' de ServBay pour accéder au serveur de production via un proxy inversé. Dans les paramètres d'hôte de ServBay, ajoutez un nouveau proxy inversé :
- Nom :
Mon premier site de production LoopBack
- Nom de domaine :
servbay-loopback-test.prod
- Type d'hôte :
Proxy inversé
- IP :
127.0.0.1
- Port :
8586
- Nom :
Accéder en mode production
Ouvrez le navigateur et accédez à
https://servbay-loopback-test.prod
pour voir la version de production. Avec les noms de domaine personnalisés et les certificats SSL gratuits de ServBay, votre site web sera plus sécurisé et plus crédible.
Connexion aux bases de données
ServBay prend en charge les bases de données Redis, MariaDB, PostgreSQL et MongoDB. Voici un exemple de connexion à ces bases de données.
Connexion à MongoDB
Installez
@loopback/connector-mongodb
:bashnpm install --save @loopback/connector-mongodb
1Puis configurez la source de données dans le projet :
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
20Connexion à Redis
Installez
loopback-connector-redis
:bashnpm install --save loopback-connector-redis
1Puis configurez la source de données dans le projet :
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
15Connexion à MariaDB
Installez
@loopback/connector-mysql
:bashnpm install --save @loopback/connector-mysql
1Puis configurez la source de données dans le projet :
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
20Connexion à PostgreSQL
Installez
@loopback/connector-postgresql
:bashnpm install --save @loopback/connector-postgresql
1Puis configurez la source de données dans le projet :
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
En suivant ces étapes, vous avez réussi à créer et exécuter un projet LoopBack, en utilisant les fonctionnalités offertes par ServBay pour gérer et accéder à votre projet tout en vous connectant à diverses bases de données.