缩小signalr/hubs文件

minify the signalr/hubs file

本文关键字:文件 hubs signalr 缩小      更新时间:2023-09-26

我在我的应用程序中使用signalr,并引用它如下:

<script src="/signalr/hubs" type="text/javascript"></script>

当然signalr是javascript动态生成的。当我慢速运行以提高web应用程序的性能时,它会抱怨singr/hubs没有最小化。当然,当我点击链接,它显示js,小片段示例:

/*!
 * ASP.NET SignalR JavaScript Library v2.1.1
 * http://signalr.net/
 *
 * Copyright Microsoft Open Technologies, Inc. All rights reserved.
 * Licensed under the Apache 2.0
 * https://github.com/SignalR/SignalR/blob/master/LICENSE.md
 *
 */
/// <reference path="..'..'SignalR.Client.JS'Scripts'jquery-1.6.4.js" />
/// <reference path="jquery.signalR.js" />
(function ($, window, undefined) {
    /// <param name="$" type="jQuery" />
    "use strict";
    if (typeof ($.signalR) !== "function") {
        throw new Error("SignalR: SignalR is not loaded. Please ensure jquery.signalR-x.js is referenced before ~/signalr/js.");
    }
    var signalR = $.signalR;
    function makeProxyCallback(hub, callback) {
        return function () {
            // Call the client hub method
            callback.apply(hub, $.makeArray(arguments));
        };
    }
    function registerHubProxies(instance, shouldSubscribe) {
        var key, hub, memberKey, memberValue, subscriptionMethod;

如果这个文件是自动生成的,我如何缩小它?

<标题>编辑

让我也澄清一下,我使用的是lcsk,可以在这里找到,它使用信号。在这个包中有一个startup.cs文件,看起来像这样:

using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(RIMS.LCSK.Startup))]
    namespace RIMS.LCSK
    {
        public class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                app.MapSignalR();
            }
        }
    }

我需要告诉它在这一点上最小化吗?我看过这个:

SignalR hub.js最小化(但这似乎是使用全局。我还看到过这个:

https://github.com/SignalR/SignalR/issues/2403

但是我不确定我需要在哪里用我所拥有的来做这些。

查看可扩展性指南。它列出了一个IJavaScriptMinifier接口,你可以实现做你正在寻找的。(也许它与优化/捆绑库或其他第三方minifier结合)。

正如可扩展性指南建议的那样,您应该实现仅由一个Minify方法组成的IJavaScriptMinifier。然后,将IJavaScriptMinifier实现类提供给SignalR依赖注入管道,SignalR将在需要时使用minifier。

下面是一个实现IJavaScriptMinifier的类的例子,其中Minifier是Microsoft Ajax Minifier。

public class SignalrJavascriptMinifier : IJavaScriptMinifier
{
    public string Minify(string source)
    {
        return new Minifier().MinifyJavaScript(source);
    }
}