如何在全局范围内使用 Dojo Require 加载自定义模块?

How to load a custom module with Dojo Require with a global scope?

例子

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 设置为 declare 和 return 一个 object 来做到这一点,但我希望它在全球范围内mainfile.js,我该怎么做?

或者我可以将 myModule.js 放在 header 中的脚本标记中并让 myModuleFunction 全局可用的一种方式。

据我了解,您必须 return 一个对象。您可以阅读更多相关信息 here

模块:

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

});

主文件:

让您的函数在全球可用

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

您可以像 myModule.myModuleFunction();

这样使用您的函数

一般情况

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