2 Stimmen

Automatisches Rendern von Jade-Datei, als ob es eine HTML-Datei wäre?

Ich kann trotz ihrer Nützlichkeit nicht finden, antwort auf diese Frage.

Ich möchte eine Website mit node.js hosten, um kompilierte Jade-Dateien anstelle von HTML-Dateien zu servieren. Derzeit benutze ich:

app.get('/', function(req, res) {
    app.use(express.static(__dirname));
});

Wie kann ich es dazu bringen, page.jade zu finden, wenn jemand domain.com/page eingibt? Und darüber hinaus, könnte ich Links in der Jade-Datei auf diese Weise schreiben (so dass a(href='page') link auf die oben genannte Seite verweisen würde)?

1voto

Mukesh Soni Punkte 6508

Setzen Sie Ihren Pfad als

app.get('/:pageName')
// mehr Code 
// dann
res.render(req.params.pageName+'.jade')

req.params wird den letzten Teil im Eigenschaftsnamen pageName enthalten

0voto

Matt Pileggi Punkte 6878

Express hat eine Reihe möglicher Optionen für das, was es als "View Engine" bezeichnet. Um es jade-Dateien verarbeiten und als HTML ausgeben zu lassen, müssen Sie es entsprechend konfigurieren.

Eine der einfachsten Möglichkeiten, dies zu tun, wenn Sie neu anfangen, ist es, Ihr Projekt einfach mit dem express Befehl zu erstellen, wie in ihrer Anleitung erwähnt. Die Standard-Views-Engine ist Jade und der folgende Befehl setzt Stylus als CSS-Verarbeiter:

express --css stylus myapp

Wenn Sie stattdessen Ihren eigenen Server konfigurieren, müssen Sie die Views-Engine konfigurieren:

app.configure(function(){

  app.set('views', path.join(staticDir,'views'));
  app.set('view engine', 'jade');
  ... der Rest Ihrer Einrichtung ...
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X