ASP.NET MVC4 Bundler und .min.js
Dateien: Ein häufiges Problem
Bei der Verwendung des ASP.NET MVC4-Bundlers stoßen Entwickler manchmal auf ein Problem, bei dem minimierte JavaScript-Dateien (.min.js
) aus Bundles ausgeschlossen werden. Selbst wenn Sie die .min.js
-Datei in BundleConfig
korrekt angeben, ist nur die nicht minimierte Version in der Ausgabe enthalten.
Zum Beispiel könnte ein Bundle so definiert werden, dass es ~/Scripts/jquery-1.8.0.js
und ~/Scripts/jquery.tmpl.min.js
enthält. Im gerenderten HTML erscheint jedoch nur jquery-1.8.0.js
.
Dies geschieht, weil die BundleCollection
von IgnoreList
standardmäßig .min
-Dateien ignorieren, wenn die Optimierung deaktiviert ist. Um dies zu beheben, können Sie entweder das IgnoreList
anpassen oder Ihre Dateien umbenennen.
Lösungen:
.min.js
-Dateien umbenennen: Die einfachste Lösung besteht darin, Ihre minimierten Dateien umzubenennen, um die Erweiterung .js
zu verwenden.
Ändern RegisterBundles
: Ein robusterer Ansatz besteht darin, die RegisterBundles
-Methode zu ändern, um explizit zu steuern, welche Dateien ignoriert werden. Dadurch können Sie .min.js
-Dateien auch dann einschließen, wenn die Optimierung deaktiviert ist.
Korrigiert RegisterBundles
Methode:
<code class="language-csharp">public static void RegisterBundles(BundleCollection bundles) { bundles.IgnoreList.Clear(); AddDefaultIgnorePatterns(bundles.IgnoreList); // Explicitly ignore .min.js files ONLY when optimization is disabled. bundles.IgnoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled); }</code>
Durch das Löschen der Standardeinstellung IgnoreList
und das Hinzufügen dieser benutzerdefinierten Regel verarbeitet der Bundler .min.js
-Dateien unabhängig von der Optimierungseinstellung korrekt und stellt so sicher, dass Ihre minimierten Skripte in Ihren Bundles enthalten sind.
Das obige ist der detaillierte Inhalt vonWarum sind meine „.min.js'-Dateien nicht in meinen ASP.NET MVC4-Bundles enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!