【问题标题】:Generate one js file from all signalr js files从所有 signalr js 文件生成一个 js 文件
【发布时间】:2016-05-27 19:37:21
【问题描述】:

我最初从本教程中获取了以下代码:SignalR Getting Started Application,它将创建一个聊天室。我已经稍微清理了 html 代码,只得到我需要的部分。我已验证聊天仍在工作:

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.4.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/signalr/jquery.signalR-2.0.0.js"></script>
<script src="/signalr/hubs"></script>

<script type="text/javascript">
$(function () {
    var chat = $.connection.chatHub;

    chat.client.broadcastMessage = function (name, message) {
        console.log('name is: ' + name);
        console.log('message is: ' + message);
    };
    $.connection.hub.start().done(function () {
        chat.server.send("khaled7", "message9");
    });
});
</script>

你可以有 3 个 javascripts 文件和 1 个脚本块:

现在,我需要将所有这些脚本合并到一个文件中,并将其发送到我的远程移动客户端。我还在网络端,所以我开始自上而下地加入文件/脚本。加入前 2 个工作正常,但是一旦尝试添加第 3 个(/signalr/hubs),我的 chrome 控制台中出现 404 错误:

http://localhost:52528/HubSample/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&clientProtocol=1.3&_=1464332439400

我必须加入他们所有人。我该如何解决这个错误!?

【问题讨论】:

  • 尝试将您的 jquery 更新到 >2 版本。我将 jquery-2.2.2.min.js 与 jquery.signalR-2.0.3.min.js 一起使用。效果很好
  • 也许我的问题不太清楚。我去改了标题,让它更能描述我的需要。

标签: javascript asp.net signalr signalr-hub


【解决方案1】:

“/signalr/hubs”不是物理文件,它是dynamically generated JavaScript code

SignalR 为代理动态创建 JavaScript 代码并 响应“/signalr/hubs”URL 将其提供给客户端。

您要做的是创建一个physical file for the SignalR generated proxy,您可以将其添加到您的单个文件中:

  1. 安装 Microsoft.AspNet.SignalR.Utils NuGet 包。
  2. 打开命令提示符并浏览到包含 SignalR.exe 文件的工具文件夹。工具文件夹位于以下位置:
    [your solution folder]\packages\Microsoft.AspNet.SignalR.Utils.2.1.0\tools

  3. 输入以下命令:
    signalr ghp /path:[path to the .dll that contains your Hub class]
    .dll 的路径是 通常是项目文件夹中的 bin 文件夹。

  4. 此命令在 signalr.exe 所在的文件夹中创建一个名为 server.js 的文件。

  5. 将 server.js 文件放在项目的适当文件夹中,根据您的应用程序将其重命名,并添加对 它代替了“signalr/hubs”参考。

问题是您必须为中心的每次更改都执行此操作。每一个。单身的。时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2020-05-04
    相关资源
    最近更新 更多