需要js,如何调用定义的模块?

Require js, how to call defined module?

我正在尝试在 requirejs 中定义一个模块并在另一个脚本中使用它。 我尝试了很多东西,但我无法实现我想要的。

目前这就是我所拥有的。

define([],{
    return {
        functionOne: function(){etc, etc...}
        functionTwo: function(){etc, etc...}        
    }
})

然后我把这个放在配置文件中:

requirejs.config({
    paths: {myModule: pathToMyModule}
})

然后,在脚本中我想使用这个模块的地方

requirejs(["myModule"], function(){
    //Some code    
})

但是当我尝试使用定义的模块时仍然出现此错误:

myModule is not defined.
functionOne is not defined.    
functionTwo is not defined.

我是不是漏掉了什么?

谢谢。

要声明您的模块,您需要使用 function,因此 myModule.js 中的第一行应如下所示:

define([], function () { // ...

调用模块时,需要将其声明为参数,因此 requirejs 调用应如下所示:

requirejs(["myModule"], function (myModule) {
//                                ^^^^^^^^
// Notice the argument declaration 

以下对我有用:

// myModule.js
define([], function () {
    return {
        functionOne: function(){
            console.log("Hello, world. I'm functionOne.");
        },
        functionTwo: function(){
            console.log("Hello, world. I'm functionTwo.");
        }        
    }
});

// require.config.js
requirejs.config({
    paths: { myModule: './myModule' }
});

// index.js
requirejs(["myModule"], function (myModule) {
    myModule.functionOne();
    myModule.functionTwo();
})