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.

Jordan Axe
quelle

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));
Zabavsky
quelle
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