1

私はどこでも検索しましたが、この質問に対する答えが見つからないようです: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.BrowserDatawork.Utils

すべての必要なファイルをすべてのファイルに含めることに加えて (これは大規模なライブラリに対して行うのは面倒な作業です)、他の解決策は (存在する場合) です。

ありがとうございました。

4

1 に答える 1

1

他のファイルが work.Utils を必要とする場合は、それらのファイルでそれを必要とする必要があります。

于 2013-11-21T09:50:59.853 に答える