如何保存已编译的下划线模板

时间:2013-02-01 16:21:23

标签: javascript underscore.js

您可能知道,下划线模板需要在使用前进行编译。 现在,如果你有一个使用大量它们的应用程序,为了呈现由多个所谓的partials组成的特定UI,你需要编译所有这些,这可能需要花费很多时间。 (参考:http://underscorejs.org/

现在,尘埃框架在那里有优化,它支持预编译模板。 (参考:http://akdubya.github.com/dustjs/

如果你想用下划线做同样的事情,你必须找到自己的工具。

到目前为止,我设法调整了以下代码(在Chrome中测试过)。 http://jsfiddle.net/GNK6M/

sources = $('script').map(function(i, s){
    return _.template($(s).html()).prototype.constructor.source
})
console.log(sources.get().join("\n"))

此代码生成已编译的temples的源代码并将其打印到js控制台。

你们知道更好的选择吗?约束是模板必须是下划线。

2 个答案:

答案 0 :(得分:0)

如果您使用的是require.js,则可以使用此插件进行编译并包含模板https://github.com/ZeeAgency/requirejs-tpl

答案 1 :(得分:0)

假设我们拥有一个数组(字符串)中的所有源,称为'sources', (这可以通过多种方式实现,但不是问题的主题)

var sources = [...];

var compiled_sources = sources.map(function(i, s){
    return _.template($(s).html()).prototype.source
})

console.log(sources.get().join("\n"))