В этой статье предполагается, что у вас есть базовые знания о том, как настроить простой сервер с помощью Node.js и express.
Что такое маршрутизация?
Маршрутизация определяет, как экземпляр Express отвечает на запрос, сделанный клиентом к конечной точке приложения. Конечная точка приложения — это просто URL-адрес или путь и определенный метод HTTP-запроса, который может быть GET, POST и т. д.
Когда экземпляр экспресса определен как приложение и работает сервер, структура маршрута выглядит следующим образом:
app.METHOD(PATH, callback);
Где:
METHOD: метод HTTP-запроса
ПУТЬ: путь на сервере
обратный вызов: функция, которая будет выполнена, если путь совпадает
Пример базовой маршрутизации:
const express = require('express'); const app = express(); //routing app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); }); //listen for port 3000 app.listen('3000', () => console.log('server started at port 3000');
Когда клиент запрашивает указанный путь «/», он возвращает файл index.html в качестве ответа, отображающего его в браузере.
По мере роста приложения обычно увеличивается количество путей, которые необходимо определить, и ваш исходный код может стать менее удобным для чтения и гораздо более сложным в обслуживании.
например:
Внешняя маршрутизация направлена на повышение удобочитаемости, повторного использования и лучшей организации кода.
Структура нашего каталога после того, как мы внедрили внешние маршрутизаторы, должна быть такой:
Создание маршрута
Создайте новую папку с именем route и внутри этой папки мы создадим файл с именем paths.js.
Внутри этого файла paths.js мы просто создадим функцию и сделайте ее доступной для экспорта на сервер с помощью module.exports.
module.exports = (function() { 'use strict'; let route = require('express').Router(); route.get('/', (req,res) => { res.send('home'); }); route.get('/contact', (req,res) => { res.send('contact'); }); return route; })();
Импорт и реализация маршрутизатора в файле app.js
Чтобы использовать маршрут, который мы создали в приведенном выше фрагменте, мы импортируем его в наш файл app.js и используем метод app.use. .
const express = require('express'); const app = express(); //importing and implementing route const route = require('./routes/paths'); app.use('/', route); //home app.use('/contact', route); //contact //listen for port 3000 app.listen(3000, () => console.log('server started at port 3000'));
Тестирование наших путей в веб-браузерах
Наконец-то мы настроили внешние маршруты, наш код стал более читабельным, и его стало намного проще поддерживать. Давайте посетим эти адреса, чтобы убедиться, что наша маршрутизация работает.
http://localhost:3000/
http://localhost:3000/contact
Спасибо, что прочитали это, пожалуйста, оставьте лайк, и комментарии будут очень признательны.