2016-03-13 28 views
6

Tutaj domyślny MVC5 BundleConfig App:Czy istnieje jakiś powód posiadania wielu pakietów ScriptBundle w pakiecie BundleConfig?

public class BundleConfig 
{ 
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
        "~/Scripts/jquery.validate*")); 

     // Use the development version of Modernizr to develop with and learn from. Then, when you're 
     // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. 
     bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
        "~/Scripts/modernizr-*")); 

     bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
        "~/Scripts/bootstrap.js", 
        "~/Scripts/respond.js")); 
    } 
} 

Czy nie byłoby o wiele prostsze mieć tylko jedną paczkę, w której będzie obejmować wszystkie skrypty potrzebne? tak:

public class BundleConfig 
{ 
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
        "~/Scripts/jquery-{version}.js", 
        "~/Scripts/jquery.validate*", 
        "~/Scripts/modernizr-*", 
        "~/Scripts/bootstrap.js", 
        "~/Scripts/respond.js")); 
    } 
} 

Albo jeszcze prościej, tak (w folderze Script tylko umieścić pliki JS potrzebne):

public class BundleConfig 
{ 
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/scripts").Include("~/Scripts/*")); 
    } 
} 

Odpowiedz

5

Nie byłoby znacznie prostsze masz tylko jeden pakiet, w którym znajdziesz wszystkie potrzebne skrypty?

Może to nieco uprościć proces opracowywania, ponieważ nie trzeba szukać odpowiedniego pakietu do uwzględnienia. Ale spójrzmy na to z innej perspektywy.

Na asp.net forum następujące jest Witten:

wiązania i minifikacji są dwie techniki można użyć w ASP.NET 4.5 w celu poprawy żądania czasu ładowania. Pakowanie i minimalizowanie skraca czas wczytywania, zmniejszając liczbę żądań do serwera i zmniejszając rozmiar żądanych zasobów (takich jak CSS i JavaScript).

Robimy więc sprzedaż wiązaną, aby wszystko działało szybciej. Co się stanie, jeśli utworzysz stronę z prostym formularzem, w którym nie jest wymagane bootstrap.js. Dlaczego miałbyś go załadować, pod warunkiem, że jesteś zainteresowany przyspieszeniem wszystkiego?

Najlepszą opcją wydajności jest posiadanie wszystkich możliwych kombinacji plików js, które mogą być potrzebne w jednym miejscu w osobnych pakietach. Każda strona składa tylko jedną prośbę, aby uzyskać wszystkie js, których potrzebuje. Jednak ten sposób postępowania jest raczej trudny do utrzymania.

Więc to do ciebie, aby zdecydować, który aspekt jesteś zainteresowany

+0

Tak, dziękuję, że ma sens. – monstro

0

Bundling. Jest to grupa plików js i css, które mogą być określone przez unikalną nazwę.
Przeznaczenie: Głównym zastosowaniem łączenia jest to, że jest on ładowany za pomocą jednego żądania HTTP zamiast wielu żądań dla każdego pliku.

Minimum: Głównym procesem jest usunięcie niepotrzebnej białej spacji z plików js i css. Przeznaczenie: Głównym celem jest usunięcie podziałów linii i komentarzy z kodu oraz skrócenie czasu ładowania poprzez zmniejszenie jego rozmiaru.

Tutaj znajdziesz użyteczne łącza, aby uzyskać więcej szczegółów

http://dotnet-helpers.com/mvc/bundlingminification/