私はかなりの間、オプティマイザのドキュメントを読んでいますが、それはわかりません。 DOCは言う:requireJSオプティマイザにはネストされた要求コールが含まれていません
のみのアレイのトップレベルに渡される文字列リテラルの で指定されたモジュールを結合しますオプティマイザ必要と 呼び出しを定義する、または必要(「名前」)文字列リテラルの呼び出しで簡略化された CommonJSラッピング。したがって、 変数名でロードされるモジュールは見つかりません。
これまでのところOKです。これは、基本的には、r.jsにネストされた依存関係を含めたりクロールしたりしないことを意味します。
require([ 'es5shim', 'tools' ], function() {
console.log('fictive app entry point');
require([ 'domready!' ], function(doc) {
console.log('domReady, loading GUI modules...');
require([ 'GUI/window', 'GUI/header', 'GUI/content' ]);
});
});
私は問題がここでかなり明白になっ推測:今、私たちは次のようになり、「メインアプリケーション」ファイルを持っていると仮定することができます。 r.js(オプティマイザ)は、そのファイルをes5shim.js
とtools.js
にのみリンクすることで作成します。この例では、window.js
,header.js
、content.js
ファイルをリンクする必要があることをオプティマイザに伝える良い方法や回避策はありますか?
もちろんこの場合のdomReady
プラグインはロードされ、最終的にはコールバックが実行されますが、構造自体はオプティマイザがそのジョブを実行できないように見えます。
質問です:
私はちょうどですべてのモジュールをリストした場合は、「トップが呼び出す必要」r.jsも含まれるであろう+リンク入れ子になったから、すべてのトップ
require
とdefine
コールと入れ子になったモジュールをmain-appファイルに追加しますか?彼らはがr.jsドキュメントでためオプションを含め言及しています。ここで意味をなさないでしょう、もしそうなら、それを正しく呼び出す方法は?後でオンレイジーロード・モジュールにオプションを失いたくはありませんが、(DOMContentLoadedを待っている)依存関係のこの種のために、私はそれを回避する方法がある願っています。もちろん
私は理解していません:どうしてネスティングが最初に必要ですか?なぜ単にGUI /ウィンドウをes5shimに依存させるのではなく、es5shimをdomreadyに依存させるのはなぜですか? ? – machineghost