预编译为纯JavaScript的JavaScript模板语言

时间:2010-12-14 17:52:55

标签: javascript templates google-closure-compiler

我正在使用Google Closure Compiler中的advanced mode来处理我正在进行的项目。这是一个非常积极的JavaScript编译器,可以很好地优化您的代码。但是,为了做到这一点,需要看到整体情况。也就是说,如果我将一些内容分配给window.foo,然后只从JS访问编译器无法看到的window.foo,它将不存在,因为它将被更改为window.f甚至被删除一起来。

当JS寺庙出现时,这会使事情复杂化。由于它们是在运行时从字符串中加载的,因此它们倾向于引用不再存在的变量。通过使用用于为模板提供值的对象的引用赋值,可以略微减轻这种影响。例如。 templateContext ['user']而不是templateContext.user。但是,这不允许我做templateContext.user.username等等,所以它有点限制。

tl; dr :我需要一个JavaScript模板解决方案,可以预处理为纯JavaScript,我可以将其包含在.js文件中。

这样的事情是否存在?

2 个答案:

答案 0 :(得分:1)

老实说,我不确定我是怎么错过的:Google Closure Templates

答案 1 :(得分:0)

您可以尝试Dojo 1.6。有一种方法可以使它在高级模式下与Closure完全无缝地工作,即使使用Dijit模板也是如此。

http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t