2016-09-20 6 views
0

私はrequirejsを使用しています。2.メインのhtmlテンプレート(テンプレート化されたデータを使用して)で定義されている関数があり、この関数が他のモジュールの依存関係として呼び出されていることを確認したいと思います。ファイルを必要とせずに関数をシムできますか?

 shim: { 
     initialization: { 
      exports: "initialization", 
      init: function() { 
       window.apidata = { 
        base_url: "{{base_url}}", 
        prefix: "{{prefix}}", 
        {% if user %} 
        user: "{{user.name}}", 
        {% endif %} 
       }; 
       return window.apidata; 
      } 
     } 

、その後、私の依存モジュールの(定義では、「初期化」のエントリを)置く:

1つの明白な選択は、シムを宣言しました。しかし、requireは "initialization.js"ファイルを要求し続けますが、これは持っていません。私はまた、輸出としての機能を持っていることを試みたが、私は同じ結果を得る。

答えて

0

あなたが名前のモジュールを定義することにより、fileless shimから取得したい1と同じ機能を得ることができます。

define("initialization", function() { 
    window.apidata = { 
    base_url: "{{base_url}}", 
    prefix: "{{prefix}}", 
    {% if user %} 
    user: "{{user.name}}", 
    {% endif %} 
    }; 
    return window.apidata; 
}); 

が長いので、上記のコードは前に、任意のコードをを実行するようinitializationが必要ですRequireJSはinitializationを解決するためにネットワークには行きませんが、既に定義されていることがわかります。

私がファイルレスのshimを作成できるかどうかを試してみましたが、それを行う方法が見つかりませんでした。

関連する問題