Тази статия предполага, че имате някакво основно разбиране за това как да настроите прост сървър с 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
Благодарим ви, че прочетохте това, моля, оставете харесване и коментарите ще бъдат много благодарни.