Express — это минимальная и гибкая платформа веб-приложений Node.js, которая предоставляет надежный набор функций для веб-приложений и мобильных приложений. Структура определений экспресс-маршрутов с промежуточным программным обеспечением, обработчики становятся очень
негибкими и загроможденными.
Я уже некоторое время использую Express.js; Мне было интересно, как лучше всего написать модульную и масштабируемую структуру маршрутов, чтобы она оставалась организованной по мере роста кодовой базы.
Что, если я скажу вам, что вы можете определить маршруты, которые будут модульными и согласованными? что-то вроде приведенного ниже фрагмента:
const middleware = require('../middlewares') const controller = require('../controllers') const paths = [ { 'path' : '/users/:id', 'method' : 'get', 'middlewares' : [middleware.checkAuth], 'handlers' : controller.getUserInfo }, { 'path' : '/users/info', 'method' : 'post', 'middlewares' : [middleware.checkAuth, middleware.checkData], 'handlers' : controller.processUserInfo } ] module.exports = paths;
Да, это легко сделать с помощью express-clean-routes npm.
путь —может принимать динамические или статические маршруты. Динамические маршруты могут принимать стандартные параметры экспресс-маршрута (например, /:your_parameter_name/
. Захваченные значения хранятся в объекте req.params
с использованием имен параметров как ключи (например, req.params.your_parameter_name
).
метод —может принимать популярные методы HTTP, такие как GET, POST, PUT и DELETE.
промежуточное ПО — принимает массив стандартных функций экспресс-промежуточного ПО, но может быть пустым массивом.
handlers — принимает стандартную функцию обработки функций.
Настройка экспресс-приложения для использования экспресс-чистых маршрутов.
Настройка маршрутов
установка файла index.js в каталог маршрутов
настройка файла users.js в каталоге маршрутов
установка файла healthcheck.js в каталог маршрутов
Пример настройки экспресс-очистки маршрутов можно найти здесь.
Спасибо за чтение. Расскажите в комментариях, что вы думаете о такой организации маршрутов.
Если вы нашли эту статью полезной, оставьте немного👏 💯