2015-07-08 5 views
5

मेरे एप्लिकेशन में मैं signalr उपयोग कर रहा हूँ और इसलिए है कि यह संदर्भित कर रहा हूँ:कम करें signalr/केन्द्रों फ़ाइल

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

बेशक signalr मक्खी पर गतिशील रूप से जावास्क्रिप्ट उत्पन्न होता है। जब मैं अपने वेब एप्लिकेशन के प्रदर्शन को बेहतर बनाने के लिए yslow चलाता हूं तो यह शिकायत करता है कि सिंगलर/हब्स को छोटा नहीं किया जाता है।

/*! 
* 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; 

मैं कैसे इस फाइल अगर यह स्वतः उत्पन्न होता है कम करें कर सकते हैं: निश्चित रूप से जब मैं लिंक पर क्लिक करें यह जे एस, छोटा-सा स्निपेट नमूना दिखाता है?

संपादित

मुझे भी स्पष्ट मैं lcskhere पाया जा सकता है, जो signalr का उपयोग करता है का उपयोग कर रहा हूँ।

using Microsoft.Owin; 
using Owin; 

[assembly: OwinStartup(typeof(RIMS.LCSK.Startup))] 

    namespace RIMS.LCSK 
    { 
     public class Startup 
     { 
      public void Configuration(IAppBuilder app) 
      { 
       app.MapSignalR(); 
      } 
     } 
    } 

मैं किसी भी तरह इस बिंदु पर कम करें को यह बताने के लिए की जरूरत है: इस पैकेज में एक startup.cs फ़ाइल जो इस तरह दिखता है? मैं इस देखा है:

SignalR hub.js minify (लेकिन यह एक Global.asax फ़ाइल का उपयोग किया जा रहा है) और मैं भी इस देखा है:

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

लेकिन मैं अनिश्चित हूँ जहाँ मैं करने की जरूरत है मेरे पास इनमें से कोई भी है जो मेरे पास है।

उत्तर

1

extensibility guide देखें। इसमें IJavaScriptMinifier इंटरफ़ेस सूचीबद्ध है जिसे आप जो भी खोज रहे हैं उसे करने के लिए कार्यान्वित कर सकते हैं। (और हो सकता है कि इसे ऑप्टिमाइज़ेशन/बंडलिंग लाइब्रेरी या किसी अन्य तृतीय पक्ष मिनीफायर के साथ जोड़ा जाए)।

+1

मैंने देखा कि, मेरा संपादन देखें, हालांकि मुझे यकीन नहीं है कि इस इंटरफ़ेस को भी कार्यान्वित करना है। क्या आप मेरी परेशानियों को देखने के लिए मेरे संपादन देख सकते हैं? – JonH

1

विस्तारशीलता मार्गदर्शिका बताती है कि आपको IJavaScriptMinifier लागू करना चाहिए जिसमें केवल एक Minify विधि शामिल है। इसके बाद, IJavaScriptMinifierSignalR dependency injection pipeline पर कक्षा लागू करने के लिए प्रदान करें और सिग्नलर जब आवश्यक हो तो मिनीफायर का उपयोग करने का ख्याल रखेगा।

यहां IJavaScriptMinifier लागू करने वाली कक्षा का एक उदाहरण दिया गया है, जहां MinifierMicrosoft Ajax Minifier है।

public class SignalrJavascriptMinifier : IJavaScriptMinifier 
{ 
    public string Minify(string source) 
    { 
     return new Minifier().MinifyJavaScript(source); 
    } 
} 
संबंधित मुद्दे