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

问题描述 投票:0回答:2

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

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

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

好吧,我知道这有点罗列,这就是为什么我很难让所有东西一起工作,但在我看来,这是中型到大型项目的基本要求。我会继续用头撞墙一段时间,但如果有人已经做过这样的项目,我将永远感激不已。

javascript optimization google-closure-compiler
2个回答
0
投票

观看这些视频。

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

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

一切都是关于谷歌关闭。

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

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


0
投票

My Closure Compiler + KnockoutJS 样板涵盖了大部分要点。 检查一下

© www.soinside.com 2019 - 2024. All rights reserved.