Mehrere layouts mit LENKER und ExpressJS?
Wenn ich mit LENKER wie meine Template-engine mit Express 4, wie es scheint, gibt es nur die option geben Sie ein einzelnes layout-Vorlage verwenden, für alle Ihre Ansichten:
app.engine('hbs', expressHbs({extname:'hbs', defaultLayout:'layout.hbs'}));
Was passiert, wenn Ihre app muss mehrere layouts? Was ist, wenn viewA.hbs
verwendet ein layout mit viewB.hbs
braucht ein anderes layout?
So, ich bin zu lernen, nodejs, ich komme von einer PHP Laravel hintergrund, wo die Blade templating engine hat, die Sie angeben, welches layout am Anfang jeder Datei anzeigen. Es macht es wirklich einfach zu wechseln zwischen layout-Vorlagen für jede gegebene Ansicht.
InformationsquelleAutor Jake Wilson | 2015-05-26
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage zu gehen in das layout von deiner route/controller beim Aufruf der render-Methode.
Ich bin ziemlich sicher, dass jade lassen Sie layouts wechseln, von innerhalb der Vorlage, aber ich weiß nicht, ob Sie tun können, dass mit LENKER.
Wenn Sie express-hbs, können Sie ein layout in der Vorlage mit einem Kommentar wie:
Alternativ können Sie versuchen exphbs. Es unterstützt auch die layout-Kommentare und mehrere layouts verschachtelt werden können. (Disclaimer: ich schrieb.)
stellen Sie sicher, dass Sie zuerst zwei Dateien mit dem Namen "main.LENKER" und "backend.LENKER" in /layouts-Verzeichnis:
Versuchen, diesen code für zwei Routen, wenn Sie wollen, zum Beispiel