Рубрики
Без рубрики

Как и почему я построил производство готовое приложение HAPI Boeterplate с двойными серверами встроенным.

Производство готовое приложение HAPI Boilerplate с двойными серверами встроенным.

Автор оригинала: Arpit Khandelwal.

Обо мне

Я специализируюсь на дизайне и архитектуре предприятия и мобильных приложений. У меня более чем 12 лет опыта работы в разработке, разработке, разработке и доставке в ИТ-секторе.

Проблема, которую я хотел решить

Большинство современных веб-приложений нуждаются в двух спектрах для пользователей – один, который на основе браузера (для настольных компьютеров/ноутбуков) и другой, который основан на мобильных устройствах. Браузеры на основе браузеров обычно используются для административных целей и имеют ограниченные функции по сравнению с их мобильными коллегами, которые обычно предназначены для конечных пользователей.

Концепция замашины состояла в том, чтобы предоставить разработчикам способом удовлетворить оба этих потребностя, имея одинаковую укрепление сервера Hapi.js к обоим видам передних концов, при этом одновременно уменьшая избытки контроллеров и маршрутов.

Что такое производство готовое приложение HAPI Boilerplate с двойными серверами встроенным.

«Хапинес» приложение для котельной служит великой отправной точкой для всех разработчиков Hapi.js, которые искали платформу для своих производственных серверов. Это приложение создает два сервера при запуске:

localhost: 8000 – сервер для веб-приложения localhost: 8001 – сервер для мобильных/отдыха API

Оба сервера имеют свои независимые механизмы аутентификации, сервер веб-приложений использует аутентификацию на основе файлов cookie, а сервер API использует аутентификацию JWT для доступа API-API. Управление развертыванием и приложением осуществляется через «Gulp», и есть разные конфигурации/задачи для запуска приложения в разработке VS производственной среды. Это приложение предполагает доступность установки «MongoDB» на Localhost, где запустится сервер.

Приложение содержит базовое управление пользователя с логином, выбором, сбросом пароля, представление о профиле. Забыли реализацию пароля выполняется с использованием «NODEMAILER» (отправляет электронное письмо с ссылкой с сбросом пароля с уникальным токеном, который истекает через 1 час).

Для производства мы использовали «PM2» в качестве менеджера процессов, который порождает 4 сервера для приложения и заботится о остальной части управления жизненным циклом. Все переменные среды управляются с использованием пакета узла «Дотунв» для разработки, то же нужно будет настроить на хост-сервере в производственной среде.

Если вы используете «Chrome» для тестирования подразделения приложение, вы можете использовать HAPI-Ly использовать «Chrome» Chrome «Node-Inspector», предварительно сконфигурированный с помощью этого приложения для целей отладки.

Tech Stack

HAPI – Server Side Framework Handrobar – HTML-шаблон двигателя Mongoose – Mongo База данных ORM SASS – CSS Preprocessor Gulp – JavaScript Tests Automation WebPack – Asset Tibrence Dotenv – Emunication Emulator Emulator Config – Configer Configher. Менеджер процессов для Node.js Apps Nodemailer – Модуль для отправки электронных писем

Процесс построения производства готовый приложение HAPI Boeterplate с двойными серверами встроены.

Вот как это работает:

Это приложение создает два сервера при запуске:

  1. localhost: 8000 – сервер для веб-приложения
  2. localhost: 8001 – сервер для мобильных/отдыха API

Аутентификация Обе эти серверы имеют независимые меры аутентификации. Управление развертыванием и приложением осуществляется через «GULP», и есть разные конфигурации/задачи для запуска приложения в разработке по сравнению с производственной средой. Это приложение предполагает, что у вас уже есть «MongoDB» в качестве доступной установки на Localhost.

Развертывание для производства, мы использовали «PM2» как менеджер процессов. PM2 порождает кластер с 4 серверами-членами и заботится о остальной части управления жизненным циклом приложения. Все переменные окружающей среды управляются с использованием «Узел дотенва» для разработки. Вам нужно будет настроить это на хост-сервере производственной среды.

Тестирование подразделения Если вы используете браузер Chrome для тестирования блока приложения, вы можете использовать HAPI-Ly использовать «Chrome» Chrome «Unode-Inspector», предварительно сконфигурированный с помощью этого приложения для целей отладки. Это приложение Boaterlate также поставляется с чистым, привлекательным пользовательским интерфейсом для входа в систему и доступ к приборной панели. Смотрите скриншоты этого ниже.

Код BoaterPlate использует «Joi» для выполнения проверки на предоставленной пользователю информации.

Регистрация аспекта журнала для этой структуры покрыта «хорошим», который является плагином HAPI для ведения журнала. Таможенные листы стиля разработаны в SASS для лучшего синтаксиса кода, производительности и повторного использования. Двигатель шаблона, используемый для просмотра разработки, – это «ручки». Конфигурации организованы с использованием «клея» наряду с «доверием», которая позволяет очень легко переключаться между различными плагинами для различных функций, сохраняя при этом конфигурацию Hapi Theme Over Convention ‘Intact.

Приложение разработано таким образом, чтобы все соответствующие артефакты организованы в их отдельных папках. Вы увидите приложение, активы и конфигурацию, являющиеся самым верхним каталогами контейнера, а также корневой каталог.

Проблемы я столкнулся

Я пытался легко разрабатывать каркас, чтобы понять каждый разработчик, чтобы они могли схватить поток и начать использовать его, чтобы улучшить эту бойную табличку в свои идеи.

Назначение ключей

Узнать силу Hapi.js. Чтобы дать вам представление о том, почему сообщество разработчиков считает, что Hapi.js настолько прочный и надежный, он смог успешно управлять тысячами на тысячах покупок, возвращающихся и многое другое в Wal-Mart в Черную пятницу, возможно, самым загруженным розничным магазином День года в США это делает это, свободно используя плагины, не делая ни одного подключаемого обязательного. И хотя Hapi.js делает приложения модульными, оно все еще очень гибко.

Советы и советы

Как видите, Hapsiness предназначен для того, чтобы сохранить время кодирования, предоставляя вам оптимизированный, эффективный и чистый кодированный интерфейс и архитектуру, чтобы основать свое собственное развитие. Попробуйте это и обязательно сообщите нам о ваших отзывах!

Окончательные мысли и следующие шаги

Наши # hapi.js #starterkit, чтобы помочь вам построить # stack от hapi.js/node.js #framework. В будущем мы можем улучшить эту структуру на основе требований.