
Вы ищете способ создать веб-приложение с такими функциями, как аутентификация, настройка базы данных и авторизация, без написания тонны кода и конфигураций? Когда-нибудь хотели создать готовое к выпуску в прод приложение за считаные дни?
Хотите — верьте, хотите — нет, но это возможно! Это руководство покажет вам, как использовать Feathers.js для создания REST API за считаные минуты. Мы изучим Feathers.js, реализуем пример API, а также поделимся некоторыми мыслями и соображениями.
Давайте узнаем, как создать REST API Feathers.js для быстрого прототипирования приложения.
Что такое Feathers.js
Feathers — это лёгкий веб-фреймворк для разработки приложений реального времени (RTA) и REST API на JavaScript или TypeScript.
Feathers может взаимодействовать с любой backend и frontend технологией, такой как React, VueJS, Angular и React Native, а также поддерживает более десятка баз данных.
Feathers.js известен своей простотой использования и быстротой внедрения, а также обширной документацией. С Feathers всё, что вам нужно для добавления функции, — это выполнить простую команду.
Рекомендуемые требования
Этот материал представляет собой практическую демонстрацию. Прежде чем начать, я бы хотел, чтобы у вас было всё необходимое:
- установлен Node.js,
- установлен Arctype,
- установлен Insomnia,
- есть предварительные знания о Node.js и Express.js.
Что мы будем делать?
Вы создадите приложение для проката фильмов, чтобы проиллюстрировать возможности инструментов визуализации баз данных Feathers.js и Arctype. Администратор будет генерировать фильмы в этой программе, а аутентифицированные пользователи смогут брать их напрокат. Вы научитесь использовать Sequelize для корреляции таблиц в Feathers.js, ограничивать доступ к определённым маршрутам и связывать свою базу данных с Arctype.
Приступим к делу
Для начала откройте интерфейс командной строки и создайте папку для нашего руководства с помощью приведённой ниже команды:
npm install @feathersjs/feathers --saveУстановка FeathersДождитесь завершения установки и подтвердите её с использованием приведённой ниже команды:
feathers -VПодтверждение установкиЕсли установка прошла успешно, вы увидите в консоли номер версии.
Создание приложения
С установленным на компьютере Feathers создайте для нашего приложения папку:
Mkdir RestWithFeathers && RestWithFeathersСоздание папокЗатем с помощью данной команды создайте новое API-приложение:
feathers generate appСоздаём приложениеПриведённая выше команда предложит вам выбрать конфигурацию для вашего приложения. Для демонстрации в рамках данного руководства ваш выбор должен выглядеть так, как показано на скриншоте ниже:

На приведённом выше скриншоте мы выполнили следующие действия:
- Выбрали Javascript в качестве предпочтительного языка программирования,
- Указали название для приложения (movie-rental),
- Выбрали src в качестве места для размещения шаблонов проекта,
- Выбрали npm в качестве управляющего пакета,
- Включили аутентификацию пользователей,
- Выбрали Eslint для анализа нашего кода,
- Выбрали стратегию аутентификации по имени пользователя и паролю,
- Выбрали user в качестве имени для нашей сущности,
- Выбрали Sequelize в качестве ORM для приложения,
- Выбрали SQLite в качестве нашей базы данных,
- Указали movieDB в качестве имени нашей базы данных.
Далее команда сгенерирует экспресс-подобную структуру проекта. Теперь давайте посмотрим на структуру папок, созданную в результате выполнения вышеуказанной команды.

Структура папки
В этом руководстве мы рассмотрим только следующие пункты:
- config: содержит файлы конфигурации для приложения,
- node_modules: папка для хранения списка установленных пакетов, необходимых для работы приложения,
- ublic: содержит статические файлы, которые могут быть переданы клиенту,
- src: содержит серверный код для приложений Feathers.js,
- src/hooks: содержит пользовательские хуки приложения,
- src/middleware: содержит промежуточные модули Express,
- src/service: содержит наши службы приложения,
- src/index.js: стартовый файл, запускающий приложение,
- src/app.js: настраивает наше приложение Feathers,
- src/app.hook.js: содержит хуки, которые применяются к каждой службе,
- src/channels.js: устанавливает каналы событий Featherjs,
- test: содержит тест для приложения.
Теперь запустим сервер в режиме разработки при помощи команды ниже:
npm run devЗапуск сервераЗапуск сервера в режиме разработки активирует горячую перезагрузку и ведение журнала ошибок в консоли. В этот момент сервер должен быть запущен на порту 3030, а файл moviedb.sqlite должен быть создан в корневом каталоге вашего проекта.
Создание служб
Служба — это объект или экземпляр класса, который реализует определённые методы. Службы обеспечивают согласованный, независимый от протокола интерфейс для взаимодействия с любыми данными. В Feathers достаточно выполнить команду, и всё будет готово для создания службы. Создайте службу фильма (movie service) с помощью приведённой ниже команды:
feathers generate serviceСоздание службыКоманда предложит вам выбрать конфигурации для вашей службы. Ваш выбор должен выглядеть так, как показано на скриншоте ниже:

Результат выполнения команды
generate serviceЗдесь мы выбрали ORM для таблицы фильмов, имя службы, URL маршрута и включили аутентификацию на маршрутах фильмов. После того как эти параметры будут выбраны, команда создаст структуру папок в src/service.
Поделиться ссылкой:
Интересные статьи
Интересные статьи
Меня зовут Борзов Олег, я техлид команды разработки CRM-системы для менеджеров ипотечного кредитования крупного банка. Сегодня я хочу рассказать, как наша команда разработки упрощает часть рабочих про...
Время от времени нам приходится писать статьи о проверке очередной версии какого-то компилятора. Это неинтересно. Однако, как показывает практика, если этого долго не делать, люди начин...
Мы в Lifion строим распределенную платформу и портфель продуктов для клиентов по всему миру. С учетом этого важно, чтобы мы могли выпускать обновления нашей платформы непрерывно прямо в...
Кустикова Валентина, Васильев Евгений, Вихрев Иван, Дудченко Антон, Уткин Константин и Коробейников Алексей.
Intel Distribution of OpenVINO Toolkit — набор библиотек для разработки приложений,...
История сегодня пойдёт про автосервис в Москве и его продвижении в течении 8 месяцев.
Первое знакомство было ещё пару лет назад при странных обстоятельствах. Пришёл автосервис за заявками,...
