Was ist Bündelung?
Das Bündeln ist eine neue Funktion in ASP.NET 4.5, die es vereinfacht, mehrere Dateien in einer einzigen Datei zu kombinieren oder zu bündeln. Sie können CSS, JavaScript und andere Bundles erstellen. Weniger Dateien bedeuten weniger HTTP-Anfragen und können die Leistung der ersten Seite verbessern.
So aktivieren Sie die Bündelung?
Die Bündelung wird aktiviert oder deaktiviert, indem der Wert des Debug-Attributs im Kompilierungselement in der Datei Web.config festgelegt wird. In der folgenden XML-Datei wird debug auf "true" gesetzt, sodass Bündelung und Verkleinerung deaktiviert sind. XML
<system.web>
<compilation debug="true" />
</system.web>
Bündelung zu aktivieren und minification, stellen Sie den Debug-Wert auf "false".
Sie können die Einstellung Web.config mit der EnableOptimizations-Eigenschaft der BundleTable-Klasse überschreiben. Der folgende Code ermöglicht das Bündeln und Verkleinern und überschreibt alle Einstellungen in der Datei Web.config.
Beispiel
public static void RegisterBundles(BundleCollection bundles) {
bundles.Add(new ScriptBundle("~/bundles/AnyName").Include(
"~/Scripts/Plugins/*.js")); // this will all the files in the plugins folder with .js extension
//you can specify files separately if dont want to use wildcards
BundleTable.EnableOptimizations = true;
}
Wichtiger Hinweis: Der virtuelle Pfad in dem Verfahren festgelegt und das Suchmuster in der IncludeDirectory Methode kann man annehmen „*“ Platzhalter-Zeichen als Präfix oder Suffix im letzten Pfadsegment.
Offical doc: https://docs.microsoft.com/en-us/aspnet/mvc/overview/performance/bundling-and-minification#using-bundling-and-minification-with-aspnet-mvc
Dank
Karthik
Also mit ' "~/Plugins/* Plugin.js."' Scheint nur durch den unmittelbaren Inhalt der '~/Plugins suchen 'Ordner. Ich muss jeden direkten Unterordner durchsuchen, wie '" ~/Plugins/*/*. Plugin.js "', aber Sie können das nicht verwenden, da Platzhalter nur im letzten Abschnitt (wo der Dateiname ist) sein können). – clevergrant
Die include-Methode verwendet params. Sie können system.io verwenden, um alle Plugin-Verzeichnisse zu erhalten und die Vorlagen für das Paket zu erstellen. – Nkosi
Danke für die Referenz, ich fand die Lösung! Sie können die 'IncludeDirectory()' Methode anstelle der 'Include()' Methode wie folgt verwenden: 'bundles.Add (new ScriptBundle (" ~/bundles/plugins "). IncludeDirectory (" ~/Plugins "," * .Plugin.js ", wahr));' Danke! – clevergrant