artTemplate模板单独存放在一个js里,使用requireJS如何加载使用呢?

webtimes
  • 251


require(['../../../templates/news7'],function(moban){

    

});

评论
阅读 4.6k
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

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏