目前我有 main.jade 文件,它是在 Node.js 上使用 Express.js 提供的。在 Jade 文件的头部,我有我所有的模板。正如您可能理解的那样,这种情况很快就变得不守规矩。我使用以下方法从 Backbone.js 加载模板:
template:_.template($("#phone-tmplt-taskRow").html())
我的应用程序将具有三个版本:移动设备、平板电脑和桌面设备。我想知道组织模板的最佳方式应该是什么。我不想在 html 文件的头部列出大约 30 个模板。我应该如何组织我的模板?我希望以某种方式拥有 3 个文件,每个版本一个。我不想根据版本提供与 node.js/express.js 不同的 URL。
最佳答案
您可以将模板单独放在文件(例如phone-tpl.html)中,并将它们全部放在/templates 目录中。然后您可以通过 AJAX 加载它们中的每一个,在这种情况下,我建议您有一个缓存(在内存或本地存储中)以最小化请求数量。
另一个选择是使用 RequireJS。 Addy Osmani 提议使用文字!加载模板的插件。 Alex Sexton 提出了一个更复杂的选项,您不将模板作为文本加载,而是预编译为 Javascript 函数(当使用 r.js 优化时,所有模板都会捆绑在一起,因此在生产中所有模板都是函数,您不会向服务器请求它们)。
链接:
关于node.js - 如何最好地组织 Underscore.js 模板以与 Backbone.js 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463886/