私はどこでも検索しましたが、この質問に対する答えが見つからないようです:Googleクロージャーコンパイラーがgoog.require
関数を使用して依存関係を解決する順序は何ですか?
例:
goog.require('work.Utils');
goog.require('work.Languages');
goog.require('work.BrowserData');
goog.require('work.EventSystem');
goog.require('work.FileDescriptor');
goog.require('work.Environment');
これらはすべて、相互に使用するため、正確な順序で単一のファイルに必要です。たとえば、work.BrowserData
を使用しwork.Languages
ていますが、すべてのファイルでwork.Utils
. したがって、各ファイルに必要とする代わりにwork.Utils
、コンパイラが最初にそれをロードしてから残りをロードするように、一番上に含めました。
問題は、コンパイル後に含める順序が異なることです。
work.EventSystem
work.FileDescriptor
work.Environment
work.BrowserData
work.Languages
work.Utils
つまり、実行ポイントでは、どちらのファイルにもアクセスできず、検索の問題がありwork.Utils
ます。work.BrowserData
work.Utils
すべての必要なファイルをすべてのファイルに含めることに加えて (これは大規模なライブラリに対して行うのは面倒な作業です)、他の解決策は (存在する場合) です。
ありがとうございました。