Ich versuche zu verstehen, wenn es am besten ist, jeden der folgenden zu verwenden. Hier ist mein rudimentäres Verständnis:Express.js: app.locals vs req.locals vs req.session
app.locals - gut zum Speichern globaler Variablen auf App-Ebene. Alle Benutzer/Sitzungen sehen die gleichen Werte für diese Variablen. Die Variablen sind für alle Ansichten verfügbar.
res.locals - gut zum Speichern von Variablen für den spezifischen Anfrage/Antwort-Zyklus. Die Variablen sind nur für die Ansicht verfügbar, die der Antwort zugeordnet ist.
req.session - gut zum Speichern von Variablen, die mit der eindeutigen Benutzersitzung verknüpft sind (z. B. Benutzername). Diese Variablen sollten für alle Ansichten für den eindeutigen Benutzer/die einzige Sitzung verfügbar sein.
Der spezifische Anwendungsfall, den ich habe, ist wie folgt: Ein Benutzer führt Abfrage aus, die Daten von mongodb abruft. Ich möchte nun das Ergebnis dieser Abfrage, die ein JSON-Array ist, als Variable für ALLE Ansichten (http-Anfragen) verfügbar machen. Was ist der beste Weg, um das Ergebnis-Array zu "speichern", so dass jede Ansicht darauf zugreifen kann?
Dank
Sie haben die Frage ziemlich selbst beantwortet. req.locals ist für Daten, die in den Sichten für die aktuelle Anfrage verfügbar sein sollen. –
ist 'res.locals', nicht' req.locals' – Daniel