2013-08-07 69 views
0

让我们从下面的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

,所以我可以做很容易使主页:

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

据我知道有玉没有possability能读出目录

但使用节点:

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 


BTW:你应该建立一个路由器和一个类似

//router.js // or app.js 
var funct = require("routes/functions") 
app.get('/', funct.home); 

//functions.js 
exports.home = function(req, res){