2012-12-04 80 views
0

這個問題比標題建議稍微複雜一些,所以請允許我詳細說明。我有一個項目被分成兩個存儲庫。兩者都使用Google Closure進行依賴管理和編譯。我需要將項目A的編譯版本交付給項目B.項目B進行高級優化,因此項目A必須僅爲空白。問題是,我無法找到一個方法來滿足我的編譯的所有要求,它們是:如何使用Google Closure編譯器構建一個文件?

  • 它必須由相關性進行排序
  • 毫無goog基地代碼,即var goog=goog||{}...
  • 同樣,不能有任何goog.provides或goog.requires
  • 它必須是空白,只編譯

到目前爲止,我已經試過:

  • Closurebuilder.py
    • 優點:可以是空白只
    • 問題:具有基碼;越來越重複的名稱空間問題
  • Compiler.jar
    • 問題:空白-only模式保持goog.provides並要求
    • 問題:項目一個突破項目B的任何優化

有沒有人做過類似的設置工作?

+0

爲什麼來自項目A的源代碼不能包含在項目B的closurebuilder運行中是否有特殊原因?這是處理此類案件的典型方式,那麼您應該不會有goog.require /提供問題。 –

+0

項目A通過npm + github進入B,將A縮小到一個文件以節省時間是有益的。這就是爲什麼B不能(不應該)接收A的源代碼。我通過從closurebuilder.py獲得依賴並通過簡單地將它們連接成一個文件來解決它。它被運送到一個內置的回購站,在那裏B可以通過npm接收它,並且它通過一個閉包腳本運行(即優化它並將其分解成模塊)。感謝您的建議。 – ian

回答

0

我通過從closurebuilder.py獲取依賴關係並將它們按順序串聯到一個文件中來解決它。它被運送到一個內置的回購站,在那裏B可以通過npm接收它,並且它通過一個閉包腳本運行(即優化它並將其分解成模塊)。

相關問題