使用express + jade尝试使用动态包含的替代解决方案是什么?以下是我正在尝试使用以下设置:
在app.js中,我指定以下路线:
app.get('/widgets/:widget', widgets.widgets);
在我的小部件路线中,widgets.js我有:
exports.widgets = function(req, res){res.render('widgets/' + req.params.widget);};
这使我能够通过浏览/ widgets / widget1自行查看窗口小部件。这非常有效。我还可以在另一个视图中包含一个小部件,如
include widgets/widget1
这也很有用。但是,我现在想添加widget2,我想有时显示widget1,有时在另一个页面中显示widget2。我原本希望将一个variableWidgetName传递给视图,然后像这样引用它:
include widgets/#{variableWidgetName}
这失败了。当我尝试访问页面时,我收到500错误,指出没有这样的文件或目录视图\ widgets#{variableWidgetName} .jade存在。显然我不能引用包含变量。
我还有其他选择。如果这是Jade的限制,我应该采用不同的方法吗?我曾想过通过ajax加载小部件,但希望使用jade或express更好的解决方案。
有谁知道更好的方法吗?
答案 0 :(得分:0)
尝试使用partial
代替包含。
这对我有用(我使用harpjs.com与玉,使用“玉”:“0.35.0”):
- var name = "something"
!= partial('./'+name+'/hello.md')`