Ich benutze die Lenker-Vorlagen-Engine mit Express. Beim Treffen von Endpunkten ohne Parameter werden alle meine statischen Dateien angezeigt. Dies ist nicht der Fall, wenn ein Parameter enthalten ist.Serving statische Dateien auf einer URL mit Parametern in Express
app.engine('.hbs', hbs(handlebarsOptions));
app.set('view engine', '.hbs');
app.use(express.static('public'));
Hier ist der Endpunkt, den ich versuche zu verwenden.
app.get('/projects/:name', function(req, res) {
if(req.params.name === 'batteryapp') {
res.render('project', {name: 'BatteryApp'});
}
});
Ich habe ein Beispiel gesehen, die anscheinend funktioniert, wenn Sie res.sendFile() verwenden. Res.render() muss jedoch verwendet werden, wenn eine Vorlagen-Engine verwendet wird.
Das ist mein Problem. Danke für Ihre Hilfe! –
Dies hat auch mein Problem behoben. Aber dieses Problem tritt nicht auf, wenn ich get ('/ polls/all' ...) benutze. Es entsteht nur, wenn ich bekomme ('/ poll /: id' ...). Kannst du bitte erklären warum? – Sid24
@ Sid24 nicht ohne weitere Informationen – robertklep