Включите все файлы в папке в один пакет

110

При использовании BundleConfigможно ли включить все файлы папки, включая все файлы дочерних папок (и их дочерние папки и т. Д.)?

Я нашел, .IncludeDirectory()но, похоже, он включает только файлы самой папки, а не файлы вложенных папок.

Джордан топор
источник

Ответы:

222

Используйте перегрузку метода IncludeDirectory, который принимает bool searchSubdirectoriesтретий параметр.

MSDN:

searchSubdirectories - указывает, нужно ли выполнять рекурсивный поиск в подкаталогах directoryVirtualPath.

Пример:

bundles.Add(new ScriptBundle("~/bundles/scripts")
    .IncludeDirectory("~/Scripts", "*.js", true));
Забавский
источник
2
мы можем упорядочить файлы в каталоге, как здесь ?
Shaijut
2
это не включает .minфайлы, есть ли решение? , Вызывают у меня есть .minи .jsфайлы в папке
shaijut
1
Файлы @stom, min обычно включаются в пакеты в режиме выпуска.
Забавский
да вы правильно , как указано здесь , я изменил web.configк <compilation debug="false"> и BundleConfig.csдобавил BundleTable.EnableOptimizations = true;спасибо.
Shaijut
4
@Zabavsky, в Web.Optimization версии 1.1 есть ошибка, в которой ваш ответ не работает, но обновление до последней версии или понижение до 1.0 исправит ее. Возможно, вы захотите добавить это к своему ответу, чтобы сэкономить время людям. stackoverflow.com/questions/22612157/…
Майкл