ExpressJS: Was ist der Unterschied zwischen app.local und res.local?

8

Ich versuche Express zu lernen und in meiner App habe ich Middleware, die das Session-Objekt vom Request-Objekt an mein Response-Objekt übergibt, damit ich in meinen Ansichten darauf zugreifen kann:

%Vor%

Aber app.locals ist auch für die Ansicht verfügbar, oder? Ist es das gleiche, wenn ich app.locals.session = req.session mache? Gibt es eine Konvention für die Arten von Dingen, für die app.locals und res.locals verwendet werden?

Ich war auch verwirrt, was der Unterschied zwischen res.render() und res.redirect() ist? Wann sollte jedes verwendet werden?

Danke fürs Lesen. Jede Hilfe im Zusammenhang mit Express ist willkommen!

    
aeyang 25.09.2012, 20:19
quelle

2 Antworten

6

app.locals und res.locals können in verschiedenen Kontexten verwendet werden.

res.locals ist, wenn Sie die Route bearbeiten, wo Sie ein res-Objekt haben, Sie haben dort kein App-Objekt und umgekehrt für app.locals.

auch res.render wird die Seite rendern, um die Anfrage zu bearbeiten. res.redirect leitet sie auf eine andere Seite um.

Wenn sie beispielsweise versuchen, auf den Account zuzugreifen, ohne sich einzuloggen, könnten Sie eine Nachricht flashen und res.redirect ('/ login') verwenden

    
chovy 26.09.2012, 17:09
quelle
9

Um dies weiter zu veranschaulichen, erinnere ich mich an ein Flussdiagramm, das zeigt, wie express Variablen innerhalb einer Vorlage darstellt. Dies ist von " Node.js In Action ." Ich empfehle das Kapitel über Express.js zu lesen.

    
Michael 05.06.2014 03:21
quelle

Tags und Links