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

Как организовать экспресс-контроллеры для больших кодовых базов

Alexandre Levacher Как организовать экспресс-контроллеры для крупных кодовых заходов на несколько лет назад, я начал разрабатывать API Express.js для компании. Я задавался вопросом, что может быть лучшими контроллерами архитектуры, чтобы оставаться организованной в качестве кодовой базы. Под влиянием парусов или рельсов и моими исследованиями я пришел

Александре Левачеер

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

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

Поэтому я создал систему организации для контроллеров приложения, которые я сочетал с домашним погрузчиком Отказ С тех пор я улучшил оба из них благодаря опыту, которое я получил, набрал его на другие проекты.

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

Из того, что я знаю, он используется несколькими крупными компаниями. Упрощает бортовые новые разработчики, так как оно облегчает чтение кодовой базы.

✅ Вот как настроить архитектуру чистых контроллеров.

Структура

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

Настройте ваше файловое дерево

  • Групповые маршруты в контроллерах
  • Создать папки для каждого контроллера
  • Создайте файл маршрутизации в каждом контроллере, который описывает путь каждого маршрута, Способ звонить, это необязательно ассоциировано промежуточное ПО, и Уровень ограничения.
  • Создайте файл для действий каждого контроллера, который содержит Метод выполнить и средние годы Отказ
  • Создать SPEC файл для тестирования

Давайте посмотрим, как это выглядит.

Не бойтесь создавать много файлов . Он не замедляет разработку, и это делает вашу кодовую базу аккуратной и воздушной. ✨

Загрузить свои маршруты

Чтобы сделать работу после структуры, определенной выше, нам нужно использовать простой погрузчик, который я создал: Люми Отказ Он пройдет через ваши контроллеры, прочитал файлы определения и загружают свои маршруты.

Это небольшой пакет, вы можете проверить, чтобы проверить код кода на Github Отказ

Маршрутные файлы

Они были разработаны так, чтобы быть легко прочитаны. Цель состоит в том, чтобы иметь возможность определить методы обновления в разработке, имея быстрый поиск в вашем . Руководство файлы. В следующем примере будут созданы три маршрута:

  • [Положить] /Пользователь
  • [Получить] /Пользователь
  • [Получить] /пользователь/сброс-пароль

Вы задаетесь вопросом, почему маршруты префиксированы с помощью « пользователь », хотя он не описан в определении маршрутизации. Lumie использует имя папки, в которой файл маршрутизации является префикс маршрутов.

Здесь мы в Контроллеры/пользователь/user.ruoting.js Отказ Если Пользователь Папка была в подпапке Админ Например, маршруты были бы префиксированы admin/user Отказ

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

Действия и подразделение

Как вы можете видеть выше, каждая конфигурация маршрутов имеет метод действий, который не более, чем логика для выполнения, когда мы вызовите ваш маршрут API. Рекомендую держать в одном файле: Один метод действий и Его необязательно связанное промежуточное программное обеспечение Отказ

Ограничения

Для каждой конфигурации маршрутов вы выберете уровень ограничения, связанный. Значение уровня будет передано в функцию ограничения, которую вы создадите, чтобы сделать работу Lumie. Посмотреть Как инициализировать Lumie С вашей собственной функцией ограничения.

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

Заключение

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

Спасибо за прочтение. Подскажите в комментариях, что вы думаете об организации контроллеров таким образом.

Если вы нашли эту статью полезную, брось немного? ?

Оригинал: “https://www.freecodecamp.org/news/how-to-organize-express-controllers-for-large-codebases-2d8284bbf817/”