2017-11-28 70 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();

일반적인 경우처럼 기능을 사용할 수 있습니다

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