在我的整个应用程序中,我引用了一个名为 hub.js 的单例 AMD - 定义如下:
// hub.js
define(['services/dataservice'], function (dataservice) {
// list of properties
// dataservice === undefined - why?
}
我通过像这样包含它来从其他虚拟机中引用它:
define(['durandal/app', 'services/dataservice', 'durandal/plugins/router', 'services/hub' ], function (app, dataservice, router, hub) {
但是我需要从我的集线器访问我的数据服务,正如您在第一个片段中看到的那样。undefined
尽管使用与其他虚拟机完全相同的语法,但从 集线器内部对数据服务的引用都是如此。
如果我使用与服务/数据服务不同的路径,则找不到 404,因此 JS 似乎看到了该文件,但由于某种原因没有将其加载到此单例中。
这是怎么回事?