強打を使用して、dojo/store/Memory のロードを自動化する dojo ベースのモジュールがあります。それは次のように呼ばれます:
require( [ 'squad_builder/storeBroker!collectionStore' ],
function( collectionStore )
{
// use store...
} );
最初の require() 呼び出しはストアをロードし、後続の呼び出しはストアをキャッシュからロードします。
これはうまく機能しますが、require の内部キャッシュを無効にする方法がわからないため、次のリクエストでストアに新しいデータをロードさせることができます。
これを行うためにrequire()に組み込まれているものはありますか、それとも内部の仕組みをいじる必要がありますか(もしそうなら、どこで?)
編集
ドキュメントでは、次のように言及されています。
注: Dojo ローダーには、モジュール値を未定義にする非標準関数 require.undef が含まれています。
しかし、そのメソッドは、呼び出したときに未定義です。Firebug で require() を見ると、次のようになります。
for( i in require )
{
console.log( 'require', i, require[ i ] );
}
require.module にはdef()
メソッドがありますが、メソッドはありませんundef()
。
編集 2
Require.cache
dojo および dijit モジュールのみが含まれているようです。カスタム名前空間モジュールはどこにキャッシュされますか?