使用AMD返回两个对象

时间:2013-09-14 15:30:22

标签: javascript jquery module amd

我正在使用requireJS

require({
    paths: {
        'dependency': 'dependency_path',
        ...
    }
}, ['main.js'], function(App) {
    App.functionA();
    App.functionB();
});

并在main.js

define(['dependency','...'],function() {
            function functionA(){...}
            function functionB(){...}
return {
functionA : functionA,
functionB : functionB
}

问题在于,如果上一个返回单个值functionAfunctionB,则不会出现错误,但如果我将两个函数都添加为返回值,则functionB不会触发任何事情。为什么?

1 个答案:

答案 0 :(得分:0)

对于您的切入点,您应使用requirejs(...代替require(...。后者更多的是在运行时要求代码。看起来您在requirejs语句中使用了require语法。我认为require的第二个参数是一个函数。

请参阅http://requirejs.org/docs/api.html

此外,您不应在require语句中使用'.js'扩展名。你也应该走一条路。而不是

}, ['main.js'], function(App) {

使用

}, ['./main'], function(App) {