0

我正在使用 require.js 和 text.js 来加载一个包含一堆<script>模板的模板文件:

例如 /scripts/templates/comments.html

<script type="text/template" id="js-comment-reply-tmpl">
// html in here
</script>

<script type="text/template" id="js-comment-edit-tmpl">
// html in here
</script>

并且因为使用下划线的模板系统(或任何类似的 js 微模板系统),这个文件本身被加载为一个字符串。有没有一种聪明的方法可以从该文件中获取每个模板?例如$(template).html(),将其包装在 jQuery 中,然后对其执行 afind()或其他操作?我基本上必须先将它放入 DOM 中,所以这可能会很慢,我什至可能什至不使用 text.js 加载它,而最初将它从 DOM 中取出。

我的另一个想法是将它们各自拆分为自己的文件,但这会减慢请求时间(尽管我可能最终只是使用带有节点的 r.js 来缩小这一切,所以它不会事情)。

例如 /scripts/templates/comment_reply.html

<script type="text/template" id="js-comment-reply-tmpl">
// html in here
</script>

例如 /scripts/templates/comment_edit.html // 这里的 html

最好/最有效的方法是什么?

4

1 回答 1

0

我建议将每个模板移动到它自己的文件中并分别加载它们。这样做的一些好处是:

  • 更容易维护- 如果项目中的模板都有自己的名称,那么在项目中搜索模板会更容易,并且如果开发人员不都编辑同一个文件,它还可以减少源代码控制冲突的麻烦。

  • 可移植性- 如果您最终使用可在服务器上使用的模板系统(如 Mustache),那么模板已经很容易在前端和后端之间共享。

您已经强调的主要缺点是额外的请求,但是如果不使用 r.js 构建脚本,您绝对不应该去生产,所以这应该不是问题

于 2013-01-02T12:15:58.710 回答