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!
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
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.