2011-07-31 37 views
0

我無法理解使用google關閉編譯器API服務的基本流程。我只會解僱一些問題:幫助google關閉編譯器基礎知識

  1. 我應該在我發送的文件列表中包含closure的base.js嗎?
  2. deps.js太大而無法發送。我應該自己包括它,還是編譯器服務會使用它自己的副本?
  3. 我的理解是,編譯器的一個特性是它解析「require」語句,並在輸出中包含必要的代碼。例如,如果我去他們提供並鍵入以下內容輸入框中輸入online UI tool

    goog.require("goog.dom"); 
    goog.dom.getElement("test"); 
    

,然後按「編譯」,我希望回去剛好夠的谷歌關閉代碼來執行此片段。相反,我只是回到相同的東西(減去空白)。我不瞭解什麼?

最後,谷歌的編譯器服務對您發送的文件有200k大小的限制。我使用名爲Minify的PHP包,它允許您發送文件列表,這些文件是通過服務發送的時間,可能這就是谷歌希望你處理200k的限制。編譯器應該檢查你的私有變量是否在任何地方作爲公共訪問,這似乎意味着它必須知道列表中的所有文件,以確保在文件中定義的類A在文件B中沒有被侵犯。是這種情況嗎?服務是否記得每個文件被解析,保存在內存中,然後交叉檢查所有內容?或者我的理解還有缺陷?

謝謝,夥計們!

+0

看起來我確實在樹林裏。看來我應該看看ClosureBuilder.py(http://code.google.com/closure/library/docs/closurebuilder.html) – Max

回答

2

如果從下拉菜單中選擇了「封庫」下的「添加URL」,來配置它會增加:

// @ use_closure_library=true 

這將導致web服務,包括爲「goog的來源。要求「可以通過閉包庫本身來滿足。如果任何goog.requires必須由您自己的代碼滿足,則必須手動包含該URL。

在你可能想運行自己的編譯服務,爲您可能會發現邁克爾·博林的Plovr項目有用的一些點:

http://code.google.com/p/plovr/

+0

我愛你。謝謝。 – Max

0

我已經創建了一個名爲Shoreline一個谷歌關閉項目模板。它包含在本地創建,測試和編譯Closure項目所需的一切。沒有代碼大小限制,沒有正常運行時間問題。