Sto iniziando con NodeJS ed Express 4 e sono un po 'confuso. Ho letto il sito Web Express, ma non riesco a vedere quando utilizzare un gestore di percorsi o quando utilizzare express.Router.
Come ho potuto vedere, se voglio mostrare una pagina o qualcosa quando l'utente colpisce /showad esempio, dovrei usare:
var express = require('express')
var app = express()
app.get("/show", someFunction)
All'inizio, ho pensato che fosse vecchio (per Express 3). È giusto o è così anche per Express 4?
Se questo è il modo di farlo in Express 4, a cosa express.Routerserve?
Ho letto quasi lo stesso esempio di cui sopra ma usando express.Router:
var express = require('express');
var router = express.Router();
router.get("/show", someFunction)
Quindi, qual è la differenza tra entrambi gli esempi?
Quale dovrei usare se voglio solo fare un semplice sito Web di test?
app.get(..)sintassi è solo una scorciatoia per rendere il lavoro express.routerpiù conveniente. Se hai appena iniziato, non preoccuparti delle specifiche del router.
app'spropri metodi di routing, ad esempio app.get(), siano sufficienti per le tue esigenze, utilizzali. È Routerlì solo per comodità per aiutarti a organizzare l'applicazione su più moduli. Dalla guida : " La express.Routerclasse può essere utilizzata per creare gestori di percorsi modulari montabili. RouterUn'istanza è un sistema completo di routing e middleware; per questo motivo viene spesso definita" mini-app ". "
Routernon.listen()per richieste da solo. È utile per separare la tua applicazione in più moduli, creandoRouterin ciascuno quello cheapppuòrequire()e.use()come middleware.