I Express.js, routing er et avgjørende konsept som lar deg definere hvordan applikasjonen din håndterer innkommende HTTP-forespørsler fra brukere. Ruter lar deg spesifisere spesifikke handlinger når brukere sender forespørsler til spesifikke URL-er på applikasjonen din.
Trinn 1: Opprette en grunnleggende Route
For å opprette en route i Express.js bruker du app.METHOD(PATH, HANDLER)
metoden til applikasjonsobjektet( app
) for å registrere en route for en spesifikk HTTP-metode METODE og en bane PATH. HANDLER er en behandlerfunksjon som vil bli kalt når en forespørsel treffer den route.
For eksempel, for å lage en route som håndterer en GET
forespørsel til /hello
, kan du bruke følgende kode:
app.get('/hello',(req, res) => {
res.send('Hello, this is the /hello route!');
});
Trinn 2: Håndtering av forespørsler og svar
I behandlerfunksjonen kan du håndtere innkommende forespørsler fra brukere og svare ved å bruke req
(request) og res
(response) objektene. Objektet req
inneholder informasjon om den innkommende forespørselen, som URL-parametere, sendte data, avsenderens IP-adresse osv. Objektet res
inneholder metoder for å svare på forespørselen, som res.send()
, res.json()
, res.render()
, osv.
Trinn 3: Håndtering av flere ruter
Express.js lar deg definere flere ruter for samme URL med forskjellige HTTP-metoder. For eksempel:
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!');
});
Trinn 4: Håndtering av dynamiske parametere
Du kan også definere ruter som inneholder dynamiske parametere, definert av et kolon( :
). For eksempel:
app.get('/users/:id',(req, res) => {
const userId = req.params.id;
res.send(`Hello, this is the GET /users/${userId} route!`);
});
Når en bruker sender en forespørsel til /users/123
, userId
vil variabelen ha verdien "123".
Trinn 5: Separer Routing med moduler
I større prosjekter kan det være lurt å dele ruter i separate filer for å holde kildekoden organisert og håndterbar. Du kan bruke module.exports
til å definere ruter i separate filer og deretter importere dem til hovedfilen. For eksempel:
// 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);
Trinn 6: Håndtering av ikke-eksisterende ruter
Til slutt, hvis en bruker ber om en ikke-eksisterende route, kan du definere en 404 route for å håndtere den. Dette gjøres ved å angi en standard route på slutten av hovedfilen din:
app.use((req, res, next) => {
res.status(404).send('Route not found!');
});
Vi har lært å lage og håndtere ruter i Express.js. Ved å bruke denne funksjonen kan du tilpasse og håndtere brukerforespørsler fleksibelt og kraftig, noe som gjør applikasjonen din mer tilpasningsdyktig og skalerbar. Fortsett å utforske og bruke ruter for å bygge rike og fantastiske nettapplikasjoner!