我正在使用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文件中。
这样的事情是否存在?
答案 0 :(得分:1)
老实说,我不确定我是怎么错过的:Google Closure Templates。
答案 1 :(得分:0)
您可以尝试Dojo 1.6。有一种方法可以使它在高级模式下与Closure完全无缝地工作,即使使用Dijit模板也是如此。