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


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/…
Майкл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.