Ich verwende Passpjs, um die Benutzerauthentifizierung für meine Express-App durchzuführen. Aber ich habe in ein seltsames Problem lautete:Variable nicht im Script-Tag verfügbar
Auf meinem Index Route Ich bin Rendern der index.jade Vorlage mit dem Benutzerparameter
router.get('/', function(req, res, next) {
res.render('index', { user: req.user });
});
Jetzt in meiner Jade Vorlage Ich habe folgendes
block content
if user
h1 logged in #{user}
script var shared_resources.user = user
if !user
h1 Not logged in
Aus irgendeinem Grund ist der bedingte Durchlauf in diesem Benutzer dort. Und auch wenn ich das Benutzerobjekt im eingeloggten # {user} ausdrucke, druckt es die Details gut aus. Innerhalb des Skript-Tags erhalte ich jedoch eine nicht erfasste Referenz, der Benutzer ist nicht definiert. Weiß jemand, warum das passiert?
Okay, das funktioniert, aber ich hatte zusätzliche Probleme, wenn der Benutzer ein Objekt ist. Es sieht so aus, als ob Jade den JSON nicht richtig analysiert, so dass das Objekt einen Syntaxfehler bekommt. Ich habe mich entschieden, einfach den Benutzernamen einzugeben und alles funktioniert gut. – tetutato