Inclure tous les fichiers d'un dossier dans un seul ensemble

110

Lors de l'utilisation, BundleConfigest-il possible d'inclure tous les fichiers d'un dossier, y compris tous les fichiers des dossiers enfants (et leurs dossiers enfants, etc.)?

J'ai trouvé .IncludeDirectory()mais il semble n'inclure que les fichiers du dossier lui-même, pas les fichiers des sous-dossiers.

Jordan Axe
la source

Réponses:

222

Utilisez la surcharge de la méthode IncludeDirectory qui accepte bool searchSubdirectoriescomme troisième paramètre.

MSDN:

searchSubdirectories - Spécifie s'il faut rechercher de manière récursive les sous-répertoires de directoryVirtualPath.

Exemple:

bundles.Add(new ScriptBundle("~/bundles/scripts")
    .IncludeDirectory("~/Scripts", "*.js", true));
Zabavsky
la source
2
pouvons-nous commander les fichiers dans le répertoire comme ici ?
shaijut
2
cela n'inclut pas les .minfichiers, y a-t-il une solution? , parce que j'ai .minet les .jsfichiers dans le dossier
shaijut
1
@stom, les fichiers min sont généralement inclus par les bundles dans le mode release.
Zabavsky
oui vous avez raison comme mentionné ici , j'ai changé le web.configen <compilation debug="false"> et en BundleConfig.csplus BundleTable.EnableOptimizations = true;merci.
shaijut
4
@Zabavsky, Il y a un bogue dans Web.Optimization version 1.1 dans lequel votre réponse ne fonctionne pas, mais la mise à jour vers la dernière version ou la rétrogradation vers la version 1.0 le résoudra. Vous voudrez peut-être ajouter cela à votre réponse pour gagner du temps. stackoverflow.com/questions/22612157/…
Michael