如何在doT.js模板系统中包含文件

时间:2014-03-01 23:36:33

标签: javascript templates dot.js

我使用doT.js 1.0进行带有requirejs的模板化。 我的目标是从另一个名为“freight.html”的文件中加载一个名为“length.html”的文件。

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工作?或者文档是否错误且没有加载文件功能?

1 个答案:

答案 0 :(得分:0)

似乎您需要根据自己的要求创建loadfile。如果您使用快递,我建议您查看https://github.com/nerdo/dot-emc。此模块包装doT,以便您可以使用res.render()返回模板。它还提供了一个漂亮的包含功能来解决您上面的问题。因此,您将使用:

而不是loadfile

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

请注意,如果您使用此模块,则默认文件扩展名为.def,需要使用选项进行更改,以使用说.html