我不斷收到給定對象不存在的函數(重命名)不存在的錯誤。有沒有發佈或設置或什麼使其工作?是否有可能在jQuery中使用Closure Compiler ADVANCED_OPTIMIZATIONS?
回答
您必須declare jQuery as an extern to the compiler ...但是我不確定是否有人制作了一個,there was an extern file for 1.3.2,但我還沒有看到任何1.4+版本。
編輯:this issue thread here has the community building a 1.4 version。
1.7.3pre的構建完成了CC-AO兼容性:https://groups.google.com/forum/?fromgroups=#!topic/jquery-bugs-team/2zb5qqKiubU – 2012-10-01 19:21:17
新的jQuery外部文件(包括1.8)位於http://code.google.com/p/closure-compiler/source/browse/trunk/contrib/externs/ – 2013-01-28 05:50:25
externs contrib鏈接現在是https://code.google.com/p/closure-編譯器/源/瀏覽/#git%2Fcontrib%2Fexterns – 2013-08-22 06:32:14
jQuery與高級模式下的Closure編譯器不兼容。我同意讓它兼容是一件非常好的事情,因爲它的方法鏈接語法非常容易爲原型虛擬化提供更高的執行速度。實際上,在流行的JavaScript庫(除了Closure Library之外)中,只有Dojo Toolkit與Closure Advanced模式兼容。
您可以使用帶高級模式的Google Closure編譯器的jQuery。我在所有項目中都這樣工作。所有你需要的是一個爲jQuery方法創建的externs文件。 – Fatih 2012-05-20 12:19:45
確實如此,但是您跳過了高級模式的許多優點 - 幾乎看起來像超級簡單模式。正確的重寫jQuery應該刪除甚至jQuery對象本身,並且虛擬化每個方法。 – 2012-05-21 01:59:52
使用關閉編譯高級模式使用jQuery時,必須使用jQuery的一個實習醫生文件。 Extern文件會告訴編譯器這些是保留的方法,並接受這些參數和參數數據類型應該是這樣的,所以不要以這種方式縮小方法名稱和檢查參數數據類型。
您可以獲取由Google Developers here創建的externs文件。這個文件爲jQuery-1.4.3生成。但目前可能會使用任何版本的jQuery。新添加的方法可能不包含在該文件中,因此您應該將其添加到externs文件中,語法和同義詞非常簡單。
你也可以通過使用額外的Compier標誌來說明externs文件的位置。語法應該是這樣的
--compiler_flags= "--externs=path/to/jquery.externs.js"
您也可以使用this tool這是一個在線實習醫生提取的Closure庫。
- 1. 是與Closure Compiler兼容的jQuery 1.4.2嗎?
- 2. 使用Closure Compiler API
- 3. extern for jQuery Star Rating Plugin和Google Closure Compiler
- 4. 使用Google Closure Compiler包含Ecmascript 6類?
- 5. broccoli-closure-compiler安裝錯誤
- 6. 是否有可能使用jQuery
- 7. 從哪裏可以找到Closure Compiler的jQuery Mobile extern文件?
- 8. 如何使用Google Closure Compiler在JavaScript中檢測Internet Explorer?
- 9. 是否有可能在jQuery中
- 10. 如何在JavaScript中爲Closure Compiler註釋嵌套對象,並讓所有屬性爲可選?
- 11. 是否有像Closure Compiler這樣的工具來壓縮和優化Perl/CGI?
- 12. 是否有可能在javascript/jquery函數中使用jinja值
- 13. 是否有可能在wicked_pdf中使用jQuery來呈現圖表?
- 14. 是否有可能在xul中使用jquery?
- 15. 是否有可能在jQuery中使用我的CSS
- 16. 是否有可能在jQuery Rails中使用simple_captcha?
- 17. 是否有可能在jQuery的
- 18. 是否有可能在.NET中使用DataContractSerializer'有時'使用EmitDefaultValue?
- 19. Google Closure Compiler @param註釋變量參數
- 20. 有沒有辦法告訴Google Closure Compiler *不*內聯我的本地功能?
- 21. 是否有可能使用就是hbm2ddl
- 22. 如何使用Closure Compiler @抑制多個警告?
- 23. IE瀏覽器,使用Closure Compiler和尾隨逗號
- 24. 使用Google Closure Compiler去除調試代碼
- 25. `不能實例化非構造函數Closure Compiler警告?
- 26. 是否有可能檢測到Java中是否有類可用?
- 27. 是否有可能在jQuery中實現人工智能概念?
- 28. 在Closure Compiler中使用--module選項創建多個輸出文件
- 29. 是否有可能在IIS 5中使用Castle MonoRail Routing功能?
- 30. 是否有可能在Struts2中使用不可變類?
我發佈了jQuery的請求,使其成爲完全兼容編譯器的兼容:)這將允許刪除所有未使用的jQuery,並使編譯後的代碼變得非常神祕:) http://bugs.jquery.com/ticket/7318 – 2010-10-26 16:42:01