使用闭包编译器编写更好的面向对象JavaScript完整示例代码

Coding Better Object-Oriented JavaScript with Closure Compiler full example code

本文关键字:JavaScript 代码 面向对象 闭包 编译器 更好      更新时间:2023-09-26

我喜欢Hedger Wang在他的文章"用闭包编译器编码更好的面向对象JavaScript"中提出的想法http://calendar.perfplanet.com/2010/coding-better-object-oriented-javascript-with-closure-compiler/,但他的例子并没有涵盖所有内容,有些例子似乎使用了与其他例子不同的风格。我一直在网上搜索特定问题的解决方案,我找到了一些,但每种解决方案似乎都与其他难题不兼容。

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

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

好吧,我知道这只是一个列表,这就是为什么我很难把所有东西都放在一起,但在我看来,这似乎是中大型项目的基本要求。我会继续用头撞墙一段时间,但如果有人已经做过这样的项目,我会永远感激能偷看一眼。

查看这些视频。

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

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

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

你也可以看看这本书。它震撼

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

My Closure Compiler+KnockoutJS样板文件涵盖了您的大部分内容。看看吧。