Heim  >  Artikel  >  Web-Frontend  >  Warum schließt Bundler .min-Dateien aus?

Warum schließt Bundler .min-Dateien aus?

Linda Hamilton
Linda HamiltonOriginal
2024-10-19 15:00:04278Durchsuche

Why is Bundler Excluding .min Files?

Bundler übersieht .min-Dateien

Im Zusammenhang mit der ASP.NET MVC4-Bündelung tritt ein merkwürdiges Problem auf, bei dem der Bundler Dateien mit dem ausschließt .min.js-Erweiterung aus ihrer Kompilierung. Um dies zu veranschaulichen, betrachten Sie die folgende BundleConfig-Klasse:

<code class="c#">public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/Scripts/jquery")
        .Include("~/Scripts/jquery-1.8.0.js")
        .Include("~/Scripts/jquery.tmpl.min.js"));            
}</code>

In der Ansicht wird der folgende Code zum Rendern des Bundles verwendet:

<code class="html"><head>
@Scripts.Render("~/Scripts/jquery")
</head>
<body>test</body></code>

Die gerenderte Ausgabe enthält jedoch nur die jquery-1.8.0.js-Datei und jquery.tmpl.min.js wird weggelassen.

Ursache

Dieses Verhalten ist nicht auf die Bundler-Konfiguration selbst zurückzuführen. Es hängt mit einem Problem in der Microsoft.AspNet.Web.Optimization-Paketversion 1.1.0 zusammen.

Lösung

Während die ursprünglich bereitgestellte Lösung eine Änderung der IgnoreList-Konfiguration beinhaltete , dies gilt in späteren Versionen des Optimierungspakets nicht mehr. Die neuesten Versionen (1.1.3 und höher) haben dieses Problem behoben.

Um dieses Problem zu beheben und .min.js-Dateien in den Bündelungsprozess einzubeziehen, stellen Sie sicher, dass Sie die neueste Version von Microsoft.AspNet verwenden .Web.Optimization-Paket.

Alternative Lösung (veraltet)

Wenn Sie nicht auf die neueste Version des Pakets aktualisieren können, können Sie den folgenden Hack in Betracht ziehen:

  1. Überschreiben Sie die AddDefaultIgnorePatterns-Methode in Ihrer BundleConfig-Klasse.
  2. Fügen Sie die folgende Zeile hinzu:

ignoreList.Ignore("*.min.js", OptimizationMode.WhenEnabled);

Dadurch wird der Bundler angewiesen, .min.js-Dateien zu ignorieren, wenn die Optimierung aktiviert ist, und sie effektiv in das Bundle aufzunehmen.

Das obige ist der detaillierte Inhalt vonWarum schließt Bundler .min-Dateien aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn