0

質問はタイトルが示唆するよりも少し複雑なので、詳しく説明させてください。2 つのリポジトリに分割されたプロジェクトがあります。どちらも、依存関係の管理とコンパイルに Google Closure を使用しています。プロジェクト A のコンパイル済みバージョンをプロジェクト B に配信する必要があります。プロジェクト B は高度な最適化を行うため、プロジェクト A は空白のみにする必要があります。問題は、コンパイルされた A のすべての要件を満たす方法が見つからないことです。

  • 依存関係によって順序付けする必要があります
  • ベースコードは存在しませんgoog。つまり、var goog=goog||{}...
  • 同様に、goog.provides または goog.requires は存在しません。
  • 空白のみでコンパイルする必要があります

これまでのところ、私は試しました:

  • Closurebuilder.py
    • 長所:空白のみにすることができます
    • 問題: 基本コードがあります。重複する名前空間の問題を取得する
  • Compiler.jar
    • 問題: 空白のみのモードでは goog.provides と requires が保持されます
    • 問題: プロジェクト A を最適化するとプロジェクト B が壊れる

誰かが同様のセットアップ作業を行いましたか?

4

1 に答える 1

0

私はclosurebuilder.pyから依存関係を取得し、それらを順番に1つのファイルに連結することで問題を解決しました。ビルドされたリポジトリに出荷され、Bはnpmを介してそれを取得でき、クロージャースクリプトを介して実行されます(事前に最適化され、モジュールに分割されます)。

于 2012-12-13T22:42:05.420 に答える