2014-03-01 46 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。 –

相关问题