【问题标题】:Script Precompile Handlebars Templates in Script Tag脚本标记中的脚本预编译把手模板
【发布时间】:2013-05-12 01:58:33
【问题描述】:

我有一个相当大的 web 应用程序,其中包含很多模板。我希望通过预编译这些文件来节省时间。

目前,我使用脚本包装器,以便我可以动态加载它并将它们打包到 html 中

<script id="all-domain-users-model-template" type="text/html">
<td></td>
<td>{{domain}}</td>
<td>{{name}}</td>
<td>{{email}}</td>
<td>{{is_account_owner}}</td>
<td>{{#if is_account_owner}}<a href="#" data="{{domain}}" class="delete-namespace btn btn-danger">Delete</a>{{/if}}</td>
</script>

有很多这样的文件。一个文件可以有多个定义..

我正在寻找一个脚本来读取 id 中的名称、解析 html、编译并使用 js 文件中的 id.templates 将其放回。

我见过Using pre-compiled templates with Handlebars.js (jQuery Mobile environment) - 接受的答案提到脚本标签在复制之前已被删除。但实际上,这几乎是不可能的..

【问题讨论】:

    标签: ember.js handlebars.js


    【解决方案1】:

    我使用 grunt-ember-templates 预编译我的 ember 车把模板。

    如需使用这个 grunt 插件的一个很好的例子,请查看this example todos application

    它提供了一个在构建过程、测试等中使用 grunt 的好例子,并且包括模板预编译。

    【讨论】:

    • 预编译不是问题。 grunt 是否会解析 script 标签中的模板并自动输出 id 中的名称?
    • @cloudpre 为什么需要在预编译模板周围加上 script 标签?预编译的优势在于,您的所有模板都被填充到了Ember.TEMPLATES 模板缓存中,并且 Ember 能够自动调用模板本身。如果您使用每个模板,将其打包到它自己的.handlebars 文件中并使用Grunt 进行预编译,以后可以通过之前给定的文件名(例如'my-fine-template')来处理您的模板。
    • @herom 我们已经用很多模板构建了我们的应用程序。每个模板都有 type="text/x-handlebars-template"。我们需要一种方法来读取这些已经有脚本标签的文件并自动预编译它们。不需要预编译脚本。鉴于有很多模板,我们默认只加载很少的东西,而其他的则是动态加载然后添加到列表中。
    • @cloudpre 我明白了,感谢您清除问题。您的所有Handlebars 脚​​本是否都在您的主页上,或者它们是否组织在单独的文件中?
    • 我仍然不确定问题是什么...这样的帮助吗? stackoverflow.com/questions/9469235/…
    猜你喜欢
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多