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 に答える