时间:2010-07-26 11:45:00

标签: jquery google-closure-compiler

2 个答案:

答案 0 :(得分:4)

您必须使用externs。这些文件告诉编译器代码中的哪些符号来自外部代码,因此不应重命名。基本上,您必须使用--externs标志指定extern。项目源代码中提供了一些类似jQuery的third-party extern files

答案 1 :(得分:0)

jQuery与高级模式下的Closure Compiler不兼容。实际上,在流行的JavaScript库中,只有Dojo Toolkit兼容(参见下面的链接)。

http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t

但是,如果你只是想在没有重命名的情况下使用带有Closure Compiler Advanced模式的jQuery,那么随着时间的推移我会开发一个技巧:

  • 将您的库文件(即jquery.js)作为编译器的“extern”提供给

编译器不会重命名jQuery使用的任何内容。当然,您自己的代码应始终与Closure兼容。此外,您的编译输出可能仍然无法正常工作,并且您可能需要解决一些模糊的错误。

事实上,在我最终厌倦了它之前,我曾经使用过Dojo和Closure Advanced模式,并做了必要的修改以获得Dojo兼容。