Создание и запуск проекта LoopBack
Что такое LoopBack?
LoopBack — это масштабируемый Node.js-фреймворк, разработанный IBM для создания API и микросервисов. Он предоставляет мощные инструменты и функции, которые позволяют разработчикам легко создавать, тестировать и развёртывать API. LoopBack поддерживает модельно-управляемую разработку (MDD), что позволяет быстро генерировать RESTful API и поддерживает подключение ко многим базам данных.
Основные характеристики и преимущества LoopBack
- Модельно-управляемая разработка: автоматическая генерация RESTful API на основе модели.
- Поддержка множества баз данных: поддерживает множество баз данных, таких как MongoDB, MySQL, PostgreSQL, MariaDB и другие.
- Мощные инструменты CLI: LoopBack CLI предоставляет массу команд для упрощения создания и управления проектами.
- Богатый набор плагинов и расширений: легкая интеграция с внешними сервисами и библиотеками через расширения и плагины.
- Встроенная аутентификация и авторизация: предоставляет мощные механизмы аутентификации и авторизации пользователей.
Используя LoopBack, разработчики могут быстро создавать высокопроизводительные и масштабируемые веб-приложения и API.
Создание и запуск проекта LoopBack с использованием ServBay
В этой статье мы будем использовать предоставленную ServBay среду Node.js для создания и запуска проекта LoopBack. Мы будем использовать функциональность «Хост» от ServBay для настройки веб-сервера и получения доступа к проекту через обратное проксирование.
Создание проекта LoopBack
Установка LoopBack CLI
Сначала убедитесь, что у вас уже установлена среда Node.js от ServBay. Затем используйте следующую команду для глобальной установки LoopBack CLI:
bashnpm install -g @loopback/cli
1Инициализация проекта
Создайте новый проект LoopBack в корневом каталоге веб-сайта, рекомендуемом ServBay,
/Applications/ServBay/www
:bashcd /Applications/ServBay/www lb4 app servbay-loopback-app
1
2Введите название проекта (рекомендуется
servbay-loopback-app
) и выберите остальные параметры по мере необходимости.Установка зависимостей
Перейдите в каталог проекта и установите зависимости:
bashcd servbay-loopback-app npm install
1
2
Изменение выводимого содержимого проекта LoopBack
Изменение файла
src/controllers/ping.controller.ts
Откройте файл
src/controllers/ping.controller.ts
и измените содержимое, чтобы веб-страница выводила "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
Вход в режим разработки
Запуск сервера разработки
Запустите сервер разработки и укажите порт (например: 8585):
bashPORT=8585 npm start
1Это запустит локальный сервер разработки и на нём будет открыт порт 8585.
Настройка обратного проксирования в ServBay
Используйте функциональность «Хост» от ServBay для доступа к серверу разработки через обратное проксирование. В настройках хоста на ServBay добавьте новое обратное проксирование:
- Имя:
My first LoopBack dev site
- Домен:
servbay-loopback-test.dev
- Тип хоста:
Обратное проксирование
- IP:
127.0.0.1
- Порт:
8585
Подробные инструкции по настройке смотрите в Добавление сайта для разработки на Nodejs.
- Имя:
Доступ к режиму разработки
Откройте браузер и перейдите по адресу
https://servbay-loopback-test.dev/ping
, чтобы в реальном времени просматривать проект. Благодаря поддержке ServBay настраиваемых доменов и бесплатных SSL-сертификатов, вы получите более высокий уровень безопасности.
Развёртывание в режиме производства
Подготовка производственной среды
Убедитесь, что ваш проект работает корректно в производственной среде. Обычно для проектов LoopBack не требуются специальные шаги сборки, но возможно понадобится настроить несколько переменных окружения или выполнить другие настройки.
Запуск сервера для производства
Запустите сервер для производства и укажите порт (например: 8586):
bashPORT=8586 NODE_ENV=production npm start
1Настройка обратного проксирования в ServBay
Используйте функциональность «Хост» от ServBay для доступа к производственному серверу через обратное проксирование. В настройках хоста на ServBay добавьте новое обратное проксирование:
- Имя:
My first LoopBack production site
- Домен:
servbay-loopback-test.prod
- Тип хоста:
Обратное проксирование
- IP:
127.0.0.1
- Порт:
8586
- Имя:
Доступ к производственному режиму
Откройте браузер и перейдите по адресу
https://servbay-loopback-test.prod
, чтобы просмотреть производственную версию. Используя настраиваемые домены и бесплатные SSL-сертификаты от ServBay, ваш сайт будет иметь более высокий уровень безопасности и доверия.
Подключение к базе данных
ServBay предоставляет поддержку для баз данных Redis, MariaDB, PostgreSQL и MongoDB. Вот примеры подключения к этим базам данных.
Подключение к MongoDB
Установите
@loopback/connector-mongodb
:bashnpm install --save @loopback/connector-mongodb
1Затем настройте источник данных в проекте:
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
20Подключение к Redis
Установите
loopback-connector-redis
:bashnpm install --save loopback-connector-redis
1Затем настройте источник данных в проекте:
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
15Подключение к MariaDB
Установите
@loopback/connector-mysql
:bashnpm install --save @loopback/connector-mysql
1Затем настройте источник данных в проекте:
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
20Подключение к PostgreSQL
Установите
@loopback/connector-postgresql
:bashnpm install --save @loopback/connector-postgresql
1Затем настройте источник данных в проекте:
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
Следуя вышеуказанным шагам, вы успешно создали и запустили проект LoopBack, используя функциональность, предоставляемую ServBay, для управления и доступа к вашему проекту, а также подключились к различным базам данных.