1 个回答

模版本身就是一段文本,而不是一段javascript脚本,因为所有的模板引擎的模板都肯定不符合标准javascript语法。
举个栗子:
underscore的模板:

<xxx>
<%= obj.abc %>
</xxx>

doT的模板:

<xxx>
{{= it.obj.abc }}
</xxx>

很明显,类似于<% %> {{ }}都不符合javascript语法,而这些字符之所以有效,是因为它们的模板引擎解析出来的。
以上说的这么多,其实题主应该明白我的意思了,之所以叫做模板引擎,是它有自己的一套解析机制,而你需要做的,就是写一段符合模板引擎语法的一段文本,然后传给模板引擎去解析。

所以模板文件要以文本的形式存放(后缀名可以随意),然后再以文本的形式读取。如果你用requirejs,可以用它的text.js来加载任何文本:

require(['text!../../../templates/news7.tpl'], function(moban) {
  // some code
});

以上。希望可以帮到你 :P

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题