Questa traduzione fornita da StrongLoop / IBM.
Ă possibile che questo documento non sia aggiornato poichĂŠ la documentazione è in inglese. Per gli ultimi aggiornamenti, fare riferimento alla documentazione in inglese.Non esiste una risposta definitiva a questa domanda. La risposta dipende dalla scalabilitĂ dellâapplicazione e dal team coinvolto. Per essere molto flessibile, Express non fornisce molte indicazioni in termini di struttura.
Le route e altre logiche specifiche dellâapplicazione possono essere presenti in molti file, in qualsiasi struttura di directory desiderata. Visualizzare i seguenti esempi:
Inoltre, ci sono delle estensioni di terze parti per Express, le quali semplificano alcuni di questi modelli:
Express non ha nessuna nozione di database. Questo concetto viene lasciato a moduli Node di terzi, consentendo di interfacciarsi con quasi qualsiasi database.
Consultare LoopBack per un framework basato su Express incentrato sui modelli.
Lâautenticazione è unâaltra area categorica in cui non si avventura Express. Ă possibile utilizzare qualsiasi schema di autenticazione desiderato. Per uno schema nome utente / password semplice, consultare questo esempio.
Express supporta qualsiasi motore di template conforme alla sigla (path, locals, callback)
.
Per normalizzare le interfacce del motore di template e la memorizzazione in cache, consultare il progetto
consolidate.js
per il supporto. I motori di template potrebbero ancora non supportare Express.
In Express, le risposte 404 non sono il risultato di un errore, pertanto il middleware di gestione degli errori non le individuerĂ . Questo accade perchĂŠ una risposta 404 indica semplicemente lâassenza di ulteriori operazioni da effettuare; in altre parole, Express ha eseguito tutte le funzioni middleware e route e non ha riscontrato nessuna risposta da parte di questâultimi. Lâunica cosa da fare è aggiungere una funzione middleware alla parte finale dello stack (sotto tutte le altre funzioni) per gestire una risposta 404:
app.use(function(req, res, next) {
res.status(404).send('Sorry cant find that!');
});
Ă possibile definire il middleware di gestione degli errori nello stesso modo in cui si definisce qualsiasi altro middleware,
ad eccezione delle funzioni di gestione degli errori che hanno quattro argomenti invece di tre; nello specifico la firma (err, req, res, next)
:
app.use(function(err, req, res, next) {
console.error(err.stack);
res.status(500).send('Something broke!');
});
Per ulteriori informazioni, consultare Gestione degli errori.
Non è necessario farlo! Non è necessario âeseguire il renderingâ dellâHTML con la funzione res.render()
.
Se si dispone di un file specifico, utilizzare la funzione res.sendFile()
.
Se si stanno gestendo molti asset da una directory, utilizzare la funzione middleware
express.static()
.