我正在尝试将SignalR(1.3)与RequireJS一起使用。
我的requireJs垫片包含:
"signalr.core": {
deps: ["jquery"],
exports: "$.connection"
},
"signalr.hubs": {
deps: ["signalr.core"],
exports: "$.connection"
},
我有一个模块:
define(["jquery", "signalr.hubs"], function ($) {
var Test = {};
Test.Init = function () {
//Code init
$.connection.myHub.client.ClientMethod = function () { console.log("Hello"); };
};
Test.Start = function () {
return $.connection.hubs.start();
};
return Test;
});
我在我的代码中调用了我的模块两次,第一次用于init,第二次用于启动:
require(["jquery", "myModule"], function ($, Test) {
Test.Init();
});
require(["jquery", "myModule"], function ($, Test) {
Test.Start().done(function () {
$(document.body).append($("<p />").text("Connected"));
});
});
但是当我调用Test.Start()
方法时,$.connection.myHub.client.ClientMethod
的值为undefined
。
声明我的垫片以避免丢失我的集线器客户端方法的正确方法是什么?
感谢。