骨干javascript架构和高级编译与谷歌闭包(javascript)

时间:2014-01-11 00:19:39

标签: javascript backbone.js architecture closures compiler-warnings

我们使用谷歌闭包作为中型JavaScript项目的构建工具。为了更容易保护代码,我们打开了ADVANCED_OPTIMIZATION选项。结果是大量dangerous use of the global this object警告。

有几种解决方法,如here,但我发现它们并不令人满意。让我烦恼的第一件事就是将所有内容放在全局命名空间中。从功能编程的旧时代开始,这是一种非常糟糕的架构风格吗?这意味着每当发生全球性变化时,整个项目都会发生变化......

另一种解决方案是在整个代码中使用@constructor注释。这会将几乎每个对象方法都改变为(记录的)构造函数(我们有超过一千个......)。在开始注释所有内容之前:使用注释方法是否安全(例如,优化后代码是否正常工作)?也许代码在注释方法中没有被混淆?

上面这两个真的没有更好的选择吗?

0 个答案:

没有答案