Incluir todos os arquivos em uma pasta em um único pacote

110

Ao usar, BundleConfigé possível incluir todos os arquivos de uma pasta incluindo todos os arquivos das pastas filhas (e suas pastas filhas, etc.)?

Achei, .IncludeDirectory()mas parece incluir apenas os arquivos da própria pasta, não os arquivos das subpastas.

Jordan Axe
fonte

Respostas:

222

Use a sobrecarga do método IncludeDirectory que aceita bool searchSubdirectoriescomo terceiro parâmetro.

MSDN:

searchSubdirectories - Especifica se os subdiretórios de directoryVirtualPath devem ser pesquisados ​​recursivamente.

Exemplo:

bundles.Add(new ScriptBundle("~/bundles/scripts")
    .IncludeDirectory("~/Scripts", "*.js", true));
Zabavsky
fonte
2
podemos ordenar os arquivos no diretório como feito aqui ?
shaijut de
2
não inclui .minarquivos, tem solução? , Porque eu tenho .mine .jsarquivos na pasta
shaijut
1
Os arquivos @stom, min são geralmente incluídos pelos pacotes no modo de lançamento.
Zabavsky
sim, você está correto, conforme mencionado aqui , eu mudei o web.configpara <compilation debug="false"> e, em BundleConfig.csseguida, BundleTable.EnableOptimizations = true;agradeço.
shaijut de
4
@Zabavsky, há um bug no Web.Optimization versão 1.1 em que sua resposta não funciona, mas atualizar para a versão mais recente ou fazer o downgrade para 1.0 irá consertá-lo. Talvez você queira adicionar isso à sua resposta para economizar algum tempo das pessoas. stackoverflow.com/questions/22612157/…
Michael