Schließen Sie alle Dateien in einem Ordner in einem einzigen Bundle ein


110

Ist es bei der Verwendung BundleConfigmöglich, alle Dateien eines Ordners einzuschließen, einschließlich aller Dateien der untergeordneten Ordner (und ihrer untergeordneten Ordner usw.)?

Ich habe gefunden, .IncludeDirectory()aber es scheint nur die Dateien des Ordners selbst zu enthalten, nicht die Dateien der Unterordner.

Antworten:


222

Verwenden Sie die Überladung der IncludeDirectory- Methode, die bool searchSubdirectoriesals dritten Parameter akzeptiert wird.

MSDN:

searchSubdirectories - Gibt an, ob Unterverzeichnisse von directoryVirtualPath rekursiv durchsucht werden sollen.

Beispiel:

bundles.Add(new ScriptBundle("~/bundles/scripts")
    .IncludeDirectory("~/Scripts", "*.js", true));

2
Können wir die Dateien im Verzeichnis wie hier beschrieben bestellen ?
Shaijut

2
Dies beinhaltet keine .minDateien. Gibt es eine Lösung? , weil ich habe .minund .jsDateien im Ordner
Shaijut

1
@stom, min-Dateien sind normalerweise im Release-Modus in den Bundles enthalten.
Zabavsky

Ja , Sie sind richtig , wie erwähnt hier , ich habe das geändert web.configzu <compilation debug="false"> und BundleConfig.cshinzugefügt es BundleTable.EnableOptimizations = true;Ihnen danken.
Shaijut

4
@Zabavsky, Es gibt einen Fehler in Web.Optimization Version 1.1, bei dem Ihre Antwort nicht funktioniert, aber durch Aktualisieren auf die neueste Version oder Herabstufen auf 1.0 wird dieser Fehler behoben. Vielleicht möchten Sie das zu Ihrer Antwort hinzufügen, um den Leuten Zeit zu sparen. stackoverflow.com/questions/22612157/…
Michael
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.