Wie entferne ich Jade, wenn ich Express mit Node.JS verwende? Ich möchte nur einfaches HTML verwenden. In anderen Artikeln habe ich gesehen, dass Leute app.register () empfohlen haben, das jetzt in der neuesten Version veraltet ist.
103
title
in einer HTML-Datei?Jade akzeptiert auch HTML-Eingaben.
Fügen Sie einfach einen Punkt am Zeilenende hinzu, um reines HTML zu senden.
Wenn das den Trick für Sie macht, dann versuchen Sie:
PS - HTML muss nicht geschlossen werden - das erledigt Jade automatisch.
quelle
Ab Express 3 können Sie einfach verwenden
response.sendFile
Aus der offiziellen Express-API-Referenz :
Warnung
res.sendFile
Stellt clientseitigen Cache über http-Cache-Header bereit, zwischenspeichert jedoch keine Dateiinhalte auf der Serverseite. Der obige Code wird bei jeder Anforderung auf die Festplatte übertragen .quelle
sendfile
Sie können keine Vorlagen erstellen, da nur Bytes aus einer Datei gesendet werden. Außerdem würdesendfile
ich davon abraten, dies zu verwenden, da dies bedeutet, dass Sie jedes Mal, wenn eine Anfrage eingeht, auf die Festplatte stoßen - ein großer Engpass. Bei stark frequentierten Seiten sollten Sie das In-Memory-Caching wirklich durchführen.Meiner Meinung nach ist es etwas umständlich, etwas so Großes wie ejs nur zum Lesen von HTML-Dateien zu verwenden. Ich habe gerade meine eigene Template-Engine für HTML-Dateien geschrieben, die bemerkenswert einfach ist. Die Datei sieht folgendermaßen aus:
Ich habe meine htmlEngine genannt, und Sie verwenden sie einfach, indem Sie sagen:
quelle
app.register()
wurde nicht abgeschrieben, sondern wurde nur in umbenannt,app.engine()
da Express 3 die Art und Weise ändert, wie Template-Engines behandelt werden .Wenn Sie nach einer Template-Engine suchen, mit der Sie "einfaches" HTML verwenden können, empfehle ich doT, da es extrem schnell ist .
Denken Sie natürlich daran, dass das Express 3-Ansichtsmodell das Zwischenspeichern der Ansicht für Sie (oder Ihre Template-Engine) überlässt. In einer Produktionsumgebung möchten Sie wahrscheinlich Ihre Ansichten im Speicher zwischenspeichern, damit Sie nicht bei jeder Anforderung Festplatten-E / A ausführen.
quelle
Sie können EJS mit Express verwenden, welche Vorlagen HTML sind, aber Variablen unterstützen. Hier ist ein gutes Tutorial zur Verwendung von EJS in Express.
http://robdodson.me/blog/2012/05/31/how-to-use-ejs-in-express/
quelle
Führen Sie die folgenden Schritte aus, damit die Render-Engine HTML anstelle von Jade akzeptiert.
Installieren Sie Consolidate und wechseln Sie in Ihr Verzeichnis.
Fügen Sie Ihrer Datei app.js die folgenden Zeilen hinzu
Fügen Sie Ihre Ansichtsvorlagen als .html im Ordner "Ansichten" hinzu. Starten Sie Ihren Knotenserver neu und starten Sie die App im Browser.
Obwohl dies HTML ohne Probleme rendert, würde ich Ihnen empfehlen, JADE zu verwenden, indem Sie es lernen. Jade ist eine erstaunliche Vorlagen-Engine. Wenn Sie dies lernen, können Sie ein besseres Design und eine bessere Skalierbarkeit erzielen.
quelle
Überprüfen Sie zunächst die Kompatibilitätsversion der Template-Engine anhand der folgenden Zeile
dann müssen Sie keine Ansicht aus der Liste verwenden. Wählen Sie keine Ansicht
Jetzt können Sie alle HTML-, CSS-, JS- und Bilder im öffentlichen Ordner verwenden.
quelle
Nun, es hört sich so an, als ob Sie statische Dateien bereitstellen möchten. Und dafür gibt es eine Seite http://expressjs.com/en/starter/static-files.html
Seltsam, dass niemand auf die Dokumentation verlinkt.
quelle
In Anbetracht dessen, dass Sie Ihre Routen bereits definiert haben oder wissen, wie es geht.
HINWEIS: Diese Route muss nach allen anderen platziert werden, da * alles akzeptiert.
quelle
Da Jade HTML unterstützt, können Sie dies tun, wenn Sie nur .html ext haben möchten
Dann ändern Sie einfach die Datei in den Ansichten von Jade zu HTML.
quelle
Sie können Ihre HTML-Datei auch direkt in Ihre Jade-Datei aufnehmen
Ursprüngliche Antwort: Express Generator ohne Jade
quelle
Wenn Sie einfaches HTML in NodeJS verwenden möchten, ohne Jade zu verwenden .. oder was auch immer:
Persönlich mache ich das gut.
Der Vorteil ist die Einfachheit bei der Steuerung. Sie können einige Tricks verwenden, wie
'<p>' + (name || '') + '</p>'
ternäre .. etc.Wenn Sie einen eingerückten Code im Browser wünschen, können Sie Folgendes tun:
und benutze \ t oder \ n nach Belieben. Aber ich bevorzuge ohne, und es ist schneller.
quelle
fs
Modul benutzen .fs.readFile(htmlfile, 'utf8', function (err, file) {