在dot.js

时间:2015-05-15 11:30:21

标签: javascript node.js dot.js

我使用{{#def.header}}代码段在index.dot中包含header.def文件,并使用以下代码段呈现index.dot文件。

var dotjs = require('dot');
var dots = dotjs.process({ path: "./views"});
app.get('/',function(request, response){
    response.send(dots.index());
});

我还想做的是仅在单独的网址上呈现标题。类似的东西:

app.get('/header',function(request, response){
    response.send(dots.header()); // header.def is not compiled to a dot.header function
});

1 个答案:

答案 0 :(得分:0)

也许您可以创建另一个.def文件(例如“onlyHead.dot”)并在其中包含静态标头,而不包含任何其他内容。然后以与你相同的方式发送onlyHead.dot。

你也可以使用模板引擎做这样的事情:

在主应用中:

app.get('/',function(request, response){
    var myData = {
       title : 'My title',
       someData : 'My Data'}
    response.render('index', myData);
});

然后在您的视图中,您可以像这样呈现它(使用router.get或者使用app.get):

{{#def.static}}
<h1>{{=it.title}}</h1>
<div>The requested data is: {{=it.someData}} </div>

您的index.dot模板可能如下所示:

class Test
{
public:
    Test(int var);
    ~Test();
};

See my answer here