Если вы используете экспресс-фреймворк для разработки веб-приложения, возможно, вы знакомы с концепцией маршрутизации и с тем, как она играет важную роль в вашем приложении. Маршрутизация относится к тому, как конечные точки приложения (URI) отвечают на запросы клиентов. Для введения в маршрутизацию см. Базовая маршрутизация.
Вы определяете маршрутизацию с помощью методов объекта Express app, которые соответствуют методам HTTP; например, app.get() для обработки запросов GET и app.post для обработки запросов POST. Полный список см. В app.METHOD. Вы также можете использовать app.all () для обработки всех HTTP-методов и app.use () для указания промежуточного программного обеспечения в качестве функции обратного вызова (см. Использование промежуточного программного обеспечения для подробностей). Мне нравится фрагментировать свои маршруты в отдельные файлы и требовать их в корневом файле js. Это не только улучшает читаемость кода, но и значительно упрощает отладку, поскольку легко определить точное местоположение в конкретном файле, вместо того, чтобы просматривать множество кодов в одном файле.
Чтобы использовать фрагментированные маршруты, вы должны потребовать их аналогично модулю nodejs и поместить его в app.use. Это просто, если в вашей папке маршрутов есть несколько маршрутов, но если вы говорите о крупномасштабном веб-приложении, может быть дюжина или более файлов маршрутов, что означает, что вам нужно требовать каждый файл, и файл app.js заполняется с кодом для запроса ваших маршрутов.
Также, если существует несколько маршрутов, вы можете забыть использовать маршрут.
Таким образом, быстрый взлом может заключаться в использовании динамической маршрутизации, которая автоматически требует, чтобы все ваши маршруты были в папке маршрутов, таким образом сокращая код и упрощая маршрутизацию.
/**
* Динамическая маршрутизация
* Добавляет все маршруты из папки маршрутов
*/
fs.readdir (‘./ routes’, (err, files) = ›{
files.forEach (file = ›{
app.use (‘/’, require (‘./ routes /’ + file))
});
})
Здесь мы использовали модуль файловой системы для чтения всех файлов из папки маршрутов и использования их в экземпляре экспресс-приложения.