2013-02-24 76 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

我敢肯定點正在尋找包括從同一目錄啓動時作爲當前文件。假設當前模板是在視圖內,我認爲只是從路徑中刪除「/視圖」應該做的伎倆...