2017-11-28 58 views
0

Dojoでカスタム・モジュールをロードする方法グローバル・スコープが必要ですか?

mainfile.js:

require(['someDojoModule', 'myModule.js'], function(SomeDojoModule){ 
    //Function does not exist 
    myModuleFunction(); 

}) 

myModule.js:

require(['otherDojoModule'], function(OtherDojoModule){ 
    const msg = 'myModule'; 
    function myModuleFunction(){ 
     console.log(msg); 
    } 
}) 

以上が動作しません、私は宣言し、リターンとしてmyModule.jsを設定することによってそれを行うことができます知っていますオブジェクトですが、mainfile.jsのグローバルスコープに入れたいのですが、どうすればいいのですか?

または、myModule.jsをヘッダーのスクリプトタグに入れて、myModuleFunctionをグローバルに利用できるようにすることができます。

答えて

1

私の知る限り、オブジェクトを返さなければなりません。あなたはこのhere

モジュールの詳細については読むことができます:

define([otherDojoModule], function (otherDojoModule) { 
return { 
    msg: 'myModule', 
    myModuleFunction: function() { 
     console.log(this.msg); 
    } 
}; 

を});

Mainfile:

require(["myModule"], function (myModule) { 
     window.myModule = myModule; 
    }); 

グローバルに機能が利用できるようにし、あなたがmyModule.myModuleFunction();

共通の場合と同様に

あなたの機能を使用することができます
関連する問題