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

时间:2018-10-04 09:54:28

标签: javascript requirejs

我正在尝试在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.

我想念什么吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

要声明模块,您需要使用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();
})