Mehrere Layouts mit Lenker und ExpressJS?

8

Wenn ich mit Express 4 Lenker als meine Vorlagen-Engine verwende, scheint es, als gäbe es nur die Option, eine einzelne Layout-Vorlage anzugeben, die für alle Ihre Ansichten verwendet werden kann:

%Vor%

Was ist, wenn Ihre App mehrere Layouts benötigt? Was passiert, wenn viewA.hbs ein Layout verwendet und viewB.hbs ein anderes Layout benötigt?

Da ich Nodejs lerne, komme ich aus einem PHP-Laravel-Hintergrund, wo die Blade-Template-Engine Gibt an, welches Layout am Anfang jeder Ansichtsdatei verwendet werden soll. Es macht es sehr einfach, zwischen Layoutvorlagen für eine bestimmte Ansicht zu wechseln.

    
Jake Wilson 26.05.2015, 19:40
quelle

2 Antworten

28

Sie sollten in der Lage sein, das Layout Ihrer Route / Ihres Controllers zu übergeben, wenn Sie die Rendermethode aufrufen.

%Vor%

Ich bin mir ziemlich sicher, dass Jade Ihnen erlauben wird, Layouts innerhalb der Vorlage zu wechseln, aber ich weiß nicht, ob Sie das mit dem Lenker machen können.

    
Ryan 26.05.2015, 20:22
quelle
4

Wenn Sie express-hbs verwenden, können Sie in der Vorlage ein Layout mit folgendem Kommentar angeben:

%Vor%

Alternativ können Sie exphbs ausprobieren. Es unterstützt auch Layout-Kommentare und mehrere Layouts können geschachtelt werden. (Disclaimer: Ich habe es geschrieben.)

    
gnowoel 23.06.2015 17:22
quelle
Django: Verwenden von Annotate, Count und Distinct in einem Queryset ___ tag123nodejs ___ Node.js ist ein ereignisbasiertes, nicht blockierendes asynchrones I / O-Framework, das die Google V8-JavaScript-Engine und die libuv-Bibliothek verwendet. Es wird für die Entwicklung von Anwendungen verwendet, die die Fähigkeit zum Ausführen von JavaScript sowohl auf dem Client als auch auf der Serverseite stark ausnutzen und daher von der Wiederverwendbarkeit von Code und dem Mangel an Kontextwechsel profitieren. ___ tag123browsersync ___ Bezogen auf das browser-sync Node.js-Modul, das zum Synchronisieren von URLs, Interaktionen und Codeänderungen auf mehreren Geräten verwendet wird. ___ tag123gulp ___ Gulp ist ein JavaScript-Build-System, ein Node.js-basierter Task-Runner wie Grunt. Gulp verwendet Streams und Code-over-Konfiguration für einen einfacheren und intuitiveren Build-Prozess. ___ answer30615589 ___

Antwort basierend auf den Dokumentationslinks ( link1 , link2 ).

Sie verwenden Browser-Sync Version 2.0+, sie haben eine andere empfohlene Syntax. Mit dieser Syntax könnte Ihr Code wie folgt aussehen:

%Vor%

Sie geben den erforderlichen Port direkt im Konfigurationsobjekt an.

    
___ qstntxt ___

Ich habe einen %code% Task, der mit %code% läuft, standardmäßig läuft er auf Port 3000 von node.js server.Ich möchte den Standardport zu jedem anderen Port wie 3010 ändern.

%Vor%

Ich benutze:

%Vor%

Ich habe versucht, die Schluckaufgabe wie folgt zu konfigurieren:

%Vor%

Aber es hat nicht funktioniert.

    
___