Ich übe mit einfachen .get-Methoden in Node/Express. Ich folge einem Beispiel für ein Buch, aber ich habe keine Sitzungsvariable und ich habe keine Vorlagen; also habe ich diese Zeilen kommentiert und sie durch eine einfache .send-Methode ersetzt, und ich habe sie durch eine einfache Hardcode-Variable ersetzt: autorisiert.Knoten Express: Mock Autorisieren Funktion in app.get
Ich erhalte die Fehlermeldung: ReferenceError: res is not defined
Das Problem ist, dass ich keine res variabel, da die Steuerung zuerst auf authorise Funktion übergeben.
function authorize(req, res, next){
authorized = true;
// if(req.session.authorized) return next();
if(authorized) return next();
res.send('not-authorized');
}
app.get('/secret', authorize, function(){
// res.render('secret');
res.send('secret');
});
app.get('/sub-rosa', authorize, function(){
// res.render('sub-rosa');
res.send('sub-rosa');
});
Sie wahrscheinlich brauchen 'Funktion (req, res) {' statt 'function() {' in beiden Fällen. –
danke es funktioniert, aber wie viele Funktionen (req, res) kann ich nach dem Pfad hinzufügen? Ich habe die Dokumentation für app.get, die Express- oder Knotensyntax nicht gefunden. – stackdave
@stackdave Sie können beliebig viele hinzufügen. 'app.get ('/ mein/pfad', handler1, handler2, handlerArray, funktion (req, res, next) {next()}, funktion (req, res) {})'. Stellen Sie nur sicher, dass alle Handler 3 Parameter haben - '(req, res, next)', mit Ausnahme des letzten, der 'next' nicht benötigt. – hlfrmn