Wie ändert man das Standard-Layout in Express mit Lenker?
Ich bin mit Express 4.9.0 und express-generator.
Erstellt boilerplate mit folgenden Befehl:
express --hbs projectname
Builtin LENKER ist mit views/layout.hbs
standardmäßig als master-Seite. Aber ich sehe keine Einstellungen in meinem app.js um das zu ändern Verhalten.
Stück code aus meinem app.js:
//view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
- Wie ändere ich meine Standard-layout Global?
- Was, wenn ich 2 oder 3 verschiedene Globale layouts?
InformationsquelleAutor der Frage Heihachi | 2014-11-11
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie festlegen, was layout, das Sie verwenden möchten als Teil der render-Aufruf. Wenn Sie ein neues layout erstellen namens
other.hbs
können Sie dann etwas wie:Überschreiben diese für die gesamte Anwendung, die Sie verwenden können:
InformationsquelleAutor der Antwort Timothy Strimple
Vom LENKER readme:
In Fall, dass Sie wollen, um den Standard-layout nur für eine bestimmte subroute, Sie könnte verwenden möchte, die folgenden im oberen Abschnitt der route:
Des weiteren können Sie das Standard-layout bei der Initialisierung:
InformationsquelleAutor der Antwort Flaudre
Wenn Sie die "express-LENKER' - Modul, dann sollte Folgendes funktionieren:
Kam ich auf diese von Graben um in das Modul-Quelle, es stellt sich heraus, dass diese Zeile...
...ist, was gibt das default-Verhalten immer mit der Suche in '{{was auch immer du angegeben}}/views/layouts/'
Also im wesentlichen - wenn, vielleicht, Sie müssen dir eine andere Struktur im Kopf haben oder aus einem anderen Grund, um es zu überschreiben, können Sie über die line in meinem Beispiel. Nur sicher sein, dass Sie dies tun vor Sie instanziieren exphbs.
Wenn Sie mit einem anderen Modul (ich bin mir nicht sicher, welche es ist), ist es wahrscheinlich, dass Sie haben einige ähnliche Einstellungen, die überschrieben werden können mit ein bisschen jiggery-pokery (führen Sie einfach eine 'find' auf den Inhalt der Datei 'views/layouts/'.
beachten Sie, dass ich bin verlassen 'app.set("Ansichten", __dirname );' wie ist es so, dass ich immer Vorlagen irgendwo in meinem server-Verzeichnis und machen Sie so:
Nach dem Update auf die v2.0.1 Die oben nicht funktioniert, können Sie das Standard-Verzeichnis in das als argument wie folgt:
InformationsquelleAutor der Antwort Spen
Dieser sollte nun funktionieren..
app.js
views/layouts/main.LENKER:
InformationsquelleAutor der Antwort venkat7668