Module 找不到RequireJS模块函数

Module 找不到RequireJS模块函数,module,requirejs,Module,Requirejs,我有以下称为路由器(router.js)的主干模块 然后,我运行另一个名为application(application.js)的模块,如下所示: define(["app/facilities/contentManager","app/facilities/router"], function (contentManager, router) { return { run: function () { contentManager.s

我有以下称为路由器(router.js)的主干模块

然后,我运行另一个名为application(application.js)的模块,如下所示:

define(["app/facilities/contentManager","app/facilities/router"], function (contentManager, router) 
{
    return 
    {
        run: function () {
            contentManager.start();
            router = router || new router();
            router.start();
        }
    }
});
我得到以下错误:

未捕获类型错误:对象函数(){return parent.apply(this,arguments);}没有方法“start”(应用程序行6)


你知道为什么我的
路由器没有
start()
功能吗?我很清楚,应该这样做。

尝试更改这一行:

router = router || new router();

我怀疑,因为
router
总是作为对象返回,所以您的代码从未尝试运行
new router()
,而是尝试在未初始化的对象上调用
.start()


如果您试图通过使用该条件避免多次调用
new router()
,则可能会从模块返回已初始化的路由器。这样,如果它再次被调用,RequireJS将只返回初始化的路由器,而不是另一个实例。

尝试
contentManager()
而不是
contentManager.start
Nope。没有快乐。我不认为是4号线的问题,我认为是6号线的问题。换句话说,问题不在于contentManager,而在于路由器。
router = router || new router();
router = new router();