我正在使用 Google Closure Compiler在 advanced mode对于我正在从事的项目。这是一个非常积极的 JavaScript 编译器,可以大大优化您的代码。然而,为了做到这一点,它需要看到整个画面。也就是说,如果我给window.foo赋值,然后只从编译器看不到的JS访问window.foo,它就不存在了,因为它已经被改成了window.f甚至被移除了一起。
当涉及到 JS 寺庙时,这会使事情变得复杂。由于它们是在运行时从字符串中加载的,因此它们倾向于引用不再存在的变量。通过对用于向模板提供值的对象使用带引号的赋值,可以稍微缓解这种情况。例如。 templateContext['user'] 而不是 templateContext.user。但是,这不允许我做 templateContext.user.username 等等,所以它有点限制。
tl;dr:我需要一个 JavaScript 模板解决方案,它可以被预处理成我可以包含在 .js 文件中的纯 JavaScript。
有这样的东西吗?
最佳答案
老实说,我不确定我是怎么错过这个的:Google Closure Templates .
关于预编译为纯 JavaScript 的 JavaScript 模板语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4442378/