2013-02-24 60 views
0

我想我必须做的(according to docs on git hub)是把{{#def.loadfile('/snippet.txt')}}到我的模板,以便它看起来像这样:如何在dot.js模板引擎中包含页眉,页脚?

<!DOCTYPE html> 
    <html> 
    <head> 
     <meta charset='utf-8'> 
     <title>Data</title> 
     <link href="/css/style.css" rel="stylesheet" type="text/css" /> 
    </head> 
    <body> 
     {{#def.loadfile('/views/includes/header.txt')}} 
     <section> 
      {{~it.arrOut:value:index}} 
       {{=value}}! 
      {{~}} 
     </section> 
    </body> 
    </html> 

,但似乎并不奏效。我甚至试图导入withdoT.js,但仍然没有。 我所得到的只是“内部服务器错误”,如果您能够使文件包含dot.js上的工作,请分享您的知识。我喜欢这个漂亮的引擎,但是它的文档并不那么漂亮。

回答

1

我不知道这是否适用于你,但的NodeJS,使用expressjs并表达-dot.js, 我所做的是确定的loadFile:在app.js

var doT = require('express-dot'); 
doT.setGlobals({ 
    loadfile:function(path){return fs.readFileSync(__dirname + path, 'utf8');} 
}); 

在index.dot:

{{#def.loadfile('/views/_submit_form.html')}} 

基本上它的loadFile添加作为采取的路径,并输出在dotjs的“DEF”对象的字符串的函数。

你当然可以调整和加强这方面您的特定需求

0

我敢肯定点正在寻找包括从同一目录启动时作为当前文件。假设当前模板是在视图内,我认为只是从路径中删除“/视图”应该做的伎俩...

相关问题