【问题标题】:How to set a variable layout in Jade?如何在 Jade 中设置变量布局?
【发布时间】:2015-06-26 06:32:11
【问题描述】:

我想在 Jade 中设置一个可自定义的布局路径。

我从我的应用程序中获取路径并将其放入 res.locals._layout 的 Express 中,就像它一样(app.js 在 /lib 下):

app.set('views', __dirname + '/../views');

app.set('view engine', 'jade');

res.locals._layout = layout_path;

然后我尝试将它传递给我认为喜欢的extends

扩展_layout

我还测试了extends #{_layout},结果也很糟糕......

这是最后一个错误:

ENOENT,没有这样的文件或目录'/root_path/views/#{_layout}.jade'

doc 在这一点上并不冗长。

【问题讨论】:

    标签: layout express pug


    【解决方案1】:

    我不认为你试图做的事情得到玉的支持。 extends 在模板编译时被解析,在任何 res.locals 状态可以应用之前。但是这个帖子中提到了一些解决方法。

    https://github.com/jadejs/jade/issues/520

    【讨论】:

    • 不幸的是,解决方法只允许在两个预定义布局之间切换,所以我想我将使用here 所述的两步渲染(FR - 我没有找到等效的英文)
    猜你喜欢
    • 1970-01-01
    • 2013-08-14
    • 2019-09-05
    • 1970-01-01
    • 2017-03-15
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多