让我们从以下4个玉器文件开始。
layout.jade
html
head
block cms_head
body
block cms_body
home_page.jade
extends layout
block append cms_head
title home page
block append cms_body
p superman ate so many different apples
plugin_a.jade
block append cms_body
p i got plugged in... genius
plugin_for_jquery.jade
block append cms_head
script(src="/jquery-1.8.3.js")
所以我可以通过以下方式轻松呈现主页:
app.get("/", function(req, res){
res.render("home_page");
});
这太棒了,但是为了允许我的应用程序中的可插入性,我想允许他们的视图利用现有模板,并将内容附加/替换/替换插件需要显示的内容。
我要做的是渲染home_page.jade,然后渲染plugin_a.jade和plugin_for_jquery.jade ......基本思路是可以有可变数量的插件,每个插件都将自己的内容添加到视图中
我试过了(显然它不起作用)
for plugin in plugins
include= plugin.name
关于我如何做到这一点的任何想法?
答案 0 :(得分:0)
据我所知,jade无法读出目录
但使用节点:
var fs = require("fs");
app.get("/", function(req, res){
fs.readdir(DIR_OF_PLUGINS, function(err, list){
res.render("home_page", {"list": list});
});
});
并在homepage.jade
- for(plugin in list)
include = plugin
顺便说一下:你应该用
//router.js // or app.js
var funct = require("routes/functions")
app.get('/', funct.home);
//functions.js
exports.home = function(req, res){