5

我正在使用新的 ASP.NET 捆绑功能,但似乎无法让我的自定义排序工作。这是我的 JS 文件:

bootstrap.js
bootstrap.min.js
jquery-1.7.2.intellisense.js
jquery-1.7.2.js
jquery-1.7.2.min.js
jquery-ui-1.8.19.js
jquery-ui-1.8.19.min.js
jquery.unobtrusive-ajax.js
jquery.unobtrusive-ajax.min.js

我希望捆绑器在所有 jQuery 文件之前输出 boostrap*.js 。我知道捆绑器内部会在顶部对 jQuery 文件进行排序,所以我试图覆盖逻辑但没有成功:

var bootstrapOrdering = new BundleFileSetOrdering("bootstrap");            
bootstrapOrdering.Files.Add("bootstrap*.js");            
bootstrapOrdering.Files.Add("jquery*.js");
BundleTable.Bundles.FileSetOrderList.Add(bootstrapOrdering);

注意:如果可能的话,我宁愿使用通配符来涵盖所有情况,而无需在代码中指定所有文件。

有谁知道我可以申请自定义订单?

谢谢

4

1 回答 1

7

您几乎拥有它,您错过的小事只是将您的订单插入到列表的前面。

BundleTable.Bundles.FileSetOrderList.Add(bootstrapOrdering);

应该:

BundleTable.Bundles.FileSetOrderList.Insert(0, bootstrapOrdering).

因此,您实际上不需要在您的排序中指定 jquery*.js,您只需添加您的排序,并且 bootstrap*.js 将优先于内置的 jquery 排序。

于 2012-07-18T19:01:47.967 回答