V Express.js, routing je zásadní koncept, který vám umožňuje definovat, jak vaše aplikace zpracovává příchozí požadavky HTTP od uživatelů. Trasy vám umožňují určit konkrétní akce, když uživatelé odesílají požadavky na konkrétní adresy URL ve vaší aplikaci.
Krok 1: Vytvoření Basic Route
Chcete-li vytvořit route in Express.js, použijte app.METHOD(PATH, HANDLER)
metodu aplikačního objektu( app
) k registraci a route pro konkrétní metodu HTTP METHOD a cestu PATH. HANDLER je obslužná funkce, která bude volána, když požadavek zasáhne, že route.
Chcete-li například vytvořit soubor route, který zpracovává GET
požadavek na /hello
, můžete použít následující kód:
app.get('/hello',(req, res) => {
res.send('Hello, this is the /hello route!');
});
Krok 2: Vyřizování požadavků a odpovědí
Ve funkci handler můžete zpracovávat příchozí požadavky od uživatelů a odpovídat pomocí objektů req
(request) a res
(response). Objekt req
obsahuje informace o příchozím požadavku, jako jsou parametry URL, odeslaná data, IP adresa odesílatele atd. Objekt res
obsahuje metody, jak na požadavek odpovědět, jako res.send()
, res.json()
, res.render()
, atd.
Krok 3: Zpracování více tras
Express.js umožňuje definovat více tras pro stejnou adresu URL s různými metodami HTTP. Například:
app.get('/hello',(req, res) => {
res.send('Hello, this is the GET /hello route!');
});
app.post('/hello',(req, res) => {
res.send('Hello, this is the POST /hello route!');
});
Krok 4: Práce s dynamickými parametry
Můžete také definovat trasy, které obsahují dynamické parametry definované dvojtečkou( :
). Například:
app.get('/users/:id',(req, res) => {
const userId = req.params.id;
res.send(`Hello, this is the GET /users/${userId} route!`);
});
Když uživatel zadá požadavek na /users/123
, userId
proměnná bude mít hodnotu "123".
Krok 5: Oddělte Routing pomocí modulů
Ve větších projektech možná budete chtít oddělit trasy do samostatných souborů, aby byl váš zdrojový kód organizován a spravován. Můžete použít module.exports
k definování tras v samostatných souborech a poté je importovat do hlavního souboru. Například:
// routes/users.js
const express = require('express');
const router = express.Router();
router.get('/profile',(req, res) => {
res.send('This is the /profile route in users.js!');
});
module.exports = router;
// app.js
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
Krok 6: Zpracování neexistujících tras
A konečně, pokud uživatel požaduje neexistující route, můžete definovat 404, route která to zpracuje. To se provádí nastavením výchozího nastavení route na konci hlavního souboru:
app.use((req, res, next) => {
res.status(404).send('Route not found!');
});
Naučili jsme se vytvářet a zacházet s trasami v Express.js. Pomocí této funkce můžete flexibilně a výkonně přizpůsobovat a zpracovávat požadavky uživatelů, díky čemuž bude vaše aplikace přizpůsobivější a škálovatelnější. Pokračujte v objevování a využívání tras při vytváření bohatých a fantastických webových aplikací!