11

我开始进行 javascript 开发,并使用 node.js 作为休息 API 和使用主干的客户端做了一个简单的项目,一切看起来都很完美,直到我想从我的 js 中获取我的模板。

我发现了不同的方法,其中一些需要一段时间(比如一岁),但我不明白哪一个会更好:

  • 带有 html 代码的 var 的 .js 文件

    优点 -> 易于加载,易于传递给下划线来编译它。

    缺点-> scape 每一行。

    app.templates.view = " \
    <h3>something code</h3> \
    ";
    

    加载模板:

    template: _.template(app.templates.view)
    

下划线中的外部模板

  • 使用 require.js 加载文本插件。

    优点 -> 根据需要加载不同的模板。

    缺点->我不喜欢将所有内容都放在“加载器”函数中的方法...

    define(["TemplateEngine", "text!templates/template.html"], function(...
    

RequireJS:加载模块,包括模板和 CSS

  • 使用 AJAX 请求加载模板的函数。

    优点 -> 您可以加载您需要的模板并添加本地存储可能性。

    缺点-> 似乎我必须将所有模板合并到一个文件中以用于生产环境。

    function() {
    
    var templateLoader = {... $.get calls ...}   
    

异步加载下划线模板的最佳方式

  • 还有一个我非常喜欢但似乎没有发布的用于模板加载的Jquery插件?

http://api.jquery.com/jQuery.template/

似乎 require 是最好的方法,但也许我遗漏了一些东西,我确实不想让事情尽可能干净,因为我正处于学习/玩乐阶段:D

任何具有良好结构的好文章或 github 项目或对此有任何启示都将受到赞赏。

谢谢。

请原谅任何重大的拼写错误,而不是说英语的人:)

--EDIT-- 发现了一些有趣的视频来了解如何使用 require.js http://www.youtube.com/watch?v=VGlDR1QiV3A开始和包装东西

http://www.youtube.com/watch?v=M-wjQjsryMY

4

2 回答 2

2

从您列出的那些中,Require 是一个不错的选择。

有没有你没有简单考虑过的原因:

  1. 将模板存储在使用它们作为<script type='text/template'>节点的页面中?

  2. 将模板存储为文本(非 JS)文件并通过 XHR 在使用它们的页面上加载它们?

于 2012-12-31T08:57:40.923 回答
2

我建议将 require.js 与文本插件一起使用。将 html 模板作为字符串混合在 javascript 变量中是个坏主意,以及使用类似<script type="text/template"></script>.

Here is one very good series on backbone.js which covers template loading and project build as well: http://dailyjs.com/2012/11/29/backbone-tutorial-1/. Github project is also provided there.

于 2012-12-31T10:17:29.497 回答