将文件夹中的所有文件打包成一个单独的捆绑包。

114

在使用 BundleConfig 时,是否可以包含一个文件夹的所有文件,包括子文件夹中的所有文件(以及它们的子文件夹等)?

我发现 .IncludeDirectory() 只能包含文件夹本身的文件,而不能包含子文件夹的文件。

1个回答

229
使用重载的IncludeDirectory方法,其接受bool searchSubdirectories作为第三个参数。

MSDN:

searchSubdirectories - 指定是否递归搜索directoryVirtualPath的子目录。

示例:

bundles.Add(new ScriptBundle("~/bundles/scripts")
    .IncludeDirectory("~/Scripts", "*.js", true));

2
我们能否像这里(https://dev59.com/Kmct5IYBdhLWcg3wk-Zq#11981271)所做的那样对目录中的文件进行排序? - Shaiju T
3
这不包括 .min 文件,有解决办法吗?因为我在文件夹中有 .min.js 文件。 - Shaiju T
2
@stom,min文件通常由发布模式中的捆绑包包含。 - Zabavsky
1
是的,你说得对,就像这里提到的那样,我已经将web.config更改为<compilation debug="false">,并在BundleConfig.cs中添加了BundleTable.EnableOptimizations = true;,谢谢。 - Shaiju T
4
@Zabavsky,Web.Optimization 1.1版存在一个错误,导致您的答案无法使用,但是将其更新到最新版本或降级到1.0版本将修复该问题。建议您将此信息添加到您的答案中,以节省其他人的时间。https://dev59.com/d2Eh5IYBdhLWcg3wRBn5#22613864 - Michael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接