【问题标题】:SignalR & require.js configurationSignalR & require.js 配置
【发布时间】:2013-07-13 11:28:42
【问题描述】:

我正在将 SignalR 合并到一个项目中,我已经在使用 require.js 来处理我的脚本依赖项。

我在确保“jquery.signalR-1.1.2”加载后调用“/signalr/hubs”时遇到了一点问题。

我得到了它的工作,但我想知道是否有更好的选择。

这就是我所拥有的:

require(["signalr"], function () {
  require(["noext!/signalr/hubs"], function () {
      //initialize and work with the hub here
  }
}

有没有一种方法可以在这里创建一个 shim 来建立信号器/集线器和信号器脚本之间的依赖关系?

谢谢!

【问题讨论】:

    标签: javascript requirejs signalr signalr-hub


    【解决方案1】:

    这适用于 SignalR 1.1.2:

    require.config({
    baseUrl: "/<your scripts dir>",
    paths: {
        "jquery": "jquery-<your jquery version>.min",
        "signalr.core": "jquery.signalR-<your signalr version>.min",
        "signalr.hubs": "/signalr/hubs?"
    },
    shim: {
        "jquery": {
            exports: "$"
        },
        "signalr.core": {
            deps: ["jquery"],
            exports: "$.connection"
        },
        "signalr.hubs": {
            deps: ["signalr.core"],
        }
    }
    });
    
    require(["jquery", "signalr.hubs"],
        function($)
        {
            var hubProxy = $.connection.myHub;
    
            // ... go to town ...
        });
    

    【讨论】:

    • 嗨,德鲁,感谢您的建议。我已经尝试过了,这就是我得到的: GET localhost:39047/scripts/noext!/signalr/… 404 (Not Found) require.js:1854 Uncaught Error: Script error requirejs.org/docs/errors.html#scripterror require.js:159
    • 虽然它在理论上完全合理,但在实践中却行不通。不知道为什么,真的很沮丧。
    • 只是想检查一下,你的项目中真的有 /scripts/noext.js 吗??
    • 汇总样本后更新了答案。现在完全适合我。我什至不使用 noext 插件,只是在末尾抛出一个查询字符串标记,require.js 不会弄乱它。
    • 谢谢!看来 noext 是这里的罪魁祸首。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 2014-02-06
    • 2013-01-28
    • 2013-10-30
    • 1970-01-01
    相关资源
    最近更新 更多