玉模板,包括variables范围

我正在使用翡翠(没有快递,只是为了静态HTML模板) – 我理解为能够创buildpartials,意思范围不是一个问题,但这似乎并非如此,我可以find没有参考这个用法-案件。

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 

包括/ header.jade

 .header ul li(class= slug) 

我已经尝试了包括#{slug}语法变体,并且总是在includes/header.jade文件中得到错误“slug is not defined” – 是否可以这样做?

编辑:所以在下面的评论中,由戴夫·韦尔登给出的答案是,当包含在master.jade中的variables是可用的,但我的编译命令编译所有的玉文件包括自己的包括,在这一点上的variables当然不是定义。

你可以用一个mixin来完成这个工作:

master.jade

 include includes/header !!! html block vars - var slug= 'home' head block pagetitle title Static HTML link(rel='stylesheet', href='css/styles.css') body(class= slug) .wrapper mixin header(slug) 

包括/ header.jade

 mixin header(klass) .header ul li(class= klass) 

编译时:

 <!DOCTYPE html> <html> <head> <title>Static HTML</title> <link rel="stylesheet" href="css/styles.css"> </head> <body class="home"> <div class="wrapper"> <div class="header"> <ul> <li class="home"></li> </ul> </div> </div> </body> </html>