使用Closure Compiler完整的示例代码编写更好的面向对象的JavaScript

时间:2012-07-07 22:36:19

标签: javascript optimization compiler-construction closures

我喜欢Hedger Wang在他的文章“使用Closure Compiler编写更好的面向对象的JavaScript”http://calendar.perfplanet.com/2010/coding-better-object-oriented-javascript-with-closure-compiler/中提出的想法,但他的例子并没有涵盖所有内容,而且一些例子似乎使用了不同于其他例子。我一直在网上搜索特定问题的解决方案,我找到了一些,但每个解决方案似乎与其他一些难题不相容。

任何人都可以提供一个完整的工作示例,同时涵盖以下所有内容:

  • 使用Google的Closure编译器进行高级优化
  • 使用注释,包括@ type,@ constructor,@enum ......
  • 使用externs文件作为外部库(例如jQuery)
  • 导出用户定义的库“class”及其所有“公共函数”(并包含此类的externs文件)
  • 在自己的文件中有另一个“类”,它使用库而不必重新编译该库
  • 避免现在和将来的命名冲突(命名空间?)
  • 尽可能避免全局变量(每个文件1对我来说似乎是一个合理的目标。全局名称可以出现多次 - 我不介意进行一次搜索并替换每个文件,但我不想这样做不止一个这样的操作)
  • 包含用于编译整个内容的命令行
  • 没有错误或警告
  • 继承,接口,...的例子会很好,但我现在可以没有这些

好的,我知道这是一个列表,这就是我无法让所有东西一起工作的原因,但在我看来,这似乎是大中型项目的基本要求。我会继续把头撞到墙上一段时间,但如果有人已经完成了这样的项目,我会永远感激一下。

2 个答案:

答案 0 :(得分:0)

查看这些视频。

http://www.youtube.com/watch?v=M3uWx-fhjUc

http://www.youtube.com/watch?v=OJ-vTq4lp10

所有这些都是关于谷歌关闭。

你也可以查看这本书。摇滚

http://shop.oreilly.com/product/0636920001416.do

答案 1 :(得分:0)

My Closure Compiler + KnockoutJS样板文件涵盖了你的大部分子弹。 Check it out