我不斷收到給定對象不存在的函數(重命名)不存在的錯誤。有沒有發佈或設置或什麼使其工作?是否有可能在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. 如何在ADVANCED_OPTIMIZATIONS中導出Closure Compiler中的公共類方法?
- 2. 是與Closure Compiler兼容的jQuery 1.4.2嗎?
- 3. 使用Closure Compiler API
- 4. extern for jQuery Star Rating Plugin和Google Closure Compiler
- 5. Closure Compiler - 使用jQuery和Closure進行源代碼的混合編譯
- 6. 是否可以爲Closure Compiler添加@language ECMASCRIPT5註釋JavaScript?
- 7. closure-compiler-js and grunt
- 8. 使用Closure Compiler - {SyntheticVarsDeclar}:警告 - 重新聲明變量
- 9. 使用Google Closure Compiler包含Ecmascript 6類?
- 10. Google Closure編譯器的ADVANCED_OPTIMIZATIONS選項
- 11. jQueryUI 1.9.1有一個Closure Compiler Extern嗎?
- 12. 是否有可能使用jQuery
- 13. 是否有可能使用jQuery,Javascript,
- 14. broccoli-closure-compiler安裝錯誤
- 15. 從哪裏可以找到Closure Compiler的jQuery Mobile extern文件?
- 16. 如何使用Google Closure Compiler在JavaScript中檢測Internet Explorer?
- 17. 是否有可能在jQuery中
- 18. Google Closure編譯器ADVANCED_OPTIMIZATIONS - 排除所有函數名
- 19. Closure Compiler externs - 引用複雜函數
- 20. 有誰知道http://closure-compiler.appspot.com/home的源代碼是否可用?
- 21. 如何在JavaScript中爲Closure Compiler註釋嵌套對象,並讓所有屬性爲可選?
- 22. 是否有像Closure Compiler這樣的工具來壓縮和優化Perl/CGI?
- 23. 是否有可能在jQuery Rails中使用simple_captcha?
- 24. 是否有可能在xul中使用jquery?
- 25. 是否有可能在我的網頁中使用jQuery Mobile Forms
- 26. 是否有可能在事件中使用jQuery自動完成
- 27. 是否有可能在wicked_pdf中使用jQuery來呈現圖表?
- 28. 是否有可能在javascript/jquery函數中使用jinja值
- 29. 是否有可能在jQuery中使用我的CSS
- 30. 是否有可能使用jQuery在文件中更改json值?
我發佈了jQuery的請求,使其成爲完全兼容編譯器的兼容:)這將允許刪除所有未使用的jQuery,並使編譯後的代碼變得非常神祕:) http://bugs.jquery.com/ticket/7318 – 2010-10-26 16:42:01