2014-03-01 43 views
2

我使用doT.js 1.0爲requirejs進行模板化。 我的目標是從另一個名爲「freight.html」的文件中加載一個名爲「length.html」的文件。如何在doT.js模板系統中包含文件

advanced sample狀態,您可以用

{{#def.loadfile('/snippet.txt')}}

加載文件,所以我試圖用freight.html {{#def.loadfile('/length.html')}}。 freight.html位於與length.html相同的目錄中。

然而,JavaScript控制檯拋出一個錯誤:

Uncaught TypeError: Object #<Object> has no method 'loadfile' 

我怎樣才能得到的loadFile工作?或者是文檔錯誤,並且沒有loadfile函數?

+0

另外,我發現高級示例在別處定義了自己的loadfile函數。但是這似乎是爲了node.js,因爲它們使用'var doT = require('doT');' 我是否必須定義自己的函數? –

回答

0

看起來您需要按照您的要求創建loadfile。如果你使用快遞,我會建議看看https://github.com/nerdo/dot-emc。該模塊包裝doT,以便您可以使用res.render()返回您的模板。它還提供了一個漂亮的包含函數來解決上述問題。因此,而不是使用loadFile你可以使用:

{{#def.include('length')}}

要知道,如果你使用這個模塊,默認文件擴展名是.def,這需要與選項可改用說.html

+0

我使用require-js插件在客戶端使用正常的doT.js。 –

相關問題