Jade templating, Geltungsbereich von Variablen in
Ich bin mit Jade (ohne Express, nur für statische HTML-templating) - das habe ich verstanden, wie der Lage zu schaffen, partials, Bedeutung Umfang ist nicht ein Problem, aber dies scheint nicht der Fall zu sein und ich finde keinen Verweis auf das use-case.
master.jade
!!! 5
html
block vars
- var slug= 'home'
head
block pagetitle
title Static HTML
link(rel='stylesheet', href='css/styles.css')
body(class= slug)
.wrapper
include includes/header
includes/header.jade
.header
ul
li(class= slug)
Ich habe versucht, syntax-Varianten, einschließlich #{slug}
und bekomme immer den Fehler "slug" ist nicht definiert" innerhalb der includes/header.jade
Datei - ist es möglich, dies zu tun?
EDIT: So die Antwort als gegeben von Dave Weldon in den Kommentaren unten ist, dass die variable ist verfügbar, wenn in der master -.jade aber mein Befehl build kompiliert alle jade-Dateien, einschließlich der gehören auf Ihre eigenen, an welcher Stelle die variable ist natürlich nicht definiert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie dies erreichen mit ein mixin etwa so:
master.jade
includes/header.jade
Beim kompilieren:
jade master.jade
- erhalten Sie eine Fehlermeldung, wenn Sie kompilierenincludes/header.jade
. Ich persönlich bin ein großer fan von Mixins in Verbindung und verwenden Sie so viel wie ich kann. Ich denke, es ist die überlegene Lösung auch in diesem Fall, da Sie angeben können, welche Argumente Mixins nehmen kann, und jade sich nicht beschweren, wenn man es zum kompilieren das include.jade -P jade --out html
natürlich kompiliert alle Dateien innerhalb des jade-Ordner, einschließlich der Ordner enthält... noch Mach ich lieber das mixin auch