Тази статия предполага, че имате някакво основно разбиране за това как да настроите прост сървър с Node.js и express.

Какво е маршрутизиране?

Маршрутизирането определя как екземпляр на express отговаря на заявка, направена от клиент към крайна точка на приложение. Крайната точка на приложението е просто URL адрес или път и специфичен метод на HTTP заявка, който може да бъде GET, POST и т.н.

Когато екземпляр на express е дефиниран като приложение и сървър работи, структурата на маршрута е:

app.METHOD(PATH, callback);

Къде:
METHOD: Метод на HTTP заявка
PATH: е път на сървъра
обратно извикване: функция, която да бъде изпълнена, ако пътят е съвпаднал

Пример за основно маршрутизиране:

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 като отговор, изобразяващ го в браузъра.

С разрастването на приложението обикновено има увеличен брой пътища за дефиниране и вашият изходен код може да стане по-малко лесен за четене и много по-труден за поддръжка.

например:

Външното маршрутизиране има за цел да подобри четливостта, повторната употреба и по-добрата организация на кода.
Структурата на нашата директория, след като внедрим външните рутери, трябва да бъде така:

Създаване на маршрут
Създайте нова папка, наречена routes, и вътре в папката ще създадем файл, наречен 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

Благодарим ви, че прочетохте това, моля, оставете харесване и коментарите ще бъдат много благодарни.