SAPUI5 は を呼び出すたびにライブラリをロードしますjQuery.sap.require("someLibrary")
か? たとえば、アプリケーションの複数のモジュールで上記のステートメントを呼び出している場合、「someLibrary」も複数回ロードされますか?
4 に答える
ライブラリは一度だけロードされます。この情報は、SDK https://sapui5.hana.ondemand.com/sdk/#docs/guide/ModularizationConcept.htmlにあります。
モジュールのロード
すでに述べたように、モジュールは、必要なモジュールの名前で関数 jQuery.sap.require を呼び出すことによってロードされます。次に、フレームワークは、指定されたモジュールが既にロードされているかどうかを確認します。その場合、関数は単純に戻ります。それ以外の場合は、モジュールを同期的にロードして実行しようとします。これらの 2 つのステップのいずれかが失敗すると、例外がスローされ、呼び出しモジュールの実行が中断されます。
ライブラリは一度ロードされます。これは、Chrome 開発者ツールのネットワーク タブで確認できます。
ここで cevou が指摘するドキュメントも確認してください。
ライブラリでこの関数を呼び出すと、指定されたライブラリがロードされているか、連想配列を使用していないかがチェックされます。ライブラリがロードされている場合は、 を返しますnull
。ライブラリがロードされていない場合は、sjax 呼び出しを使用してライブラリをロードし、sjax 呼び出しが成功した後、ライブラリ名をキーとして連想配列に設定します。