RequireJS で SignalR (1.3) を使用しようとしています。
私のrequireJs shimには次が含まれています:
"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;
});
コード内でモジュールを 2 回呼び出します。1 回目は init で、2 回目は start です。
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
.
ハブのクライアント メソッドが失われないように shim を宣言する正しい方法は何ですか?
ありがとう。