Module 找不到RequireJS模块函数
我有以下称为路由器(router.js)的主干模块 然后,我运行另一个名为application(application.js)的模块,如下所示: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
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();