2012-03-19 10 views
2

のGlobal.asax:MVC 4バンドル - jQueryのは、私が追加さえカントー最初に表示されないこと最初

var desktopJsBundle = new Bundle("~/desktop-js-bundle", new JsMinify()); 
desktopJsBundle.AddFile("~/scripts/jquery-1.7.1.min.js"); 
desktopJsBundle.AddFile("~/scripts/test.js"); 
BundleTable.Bundles.Add(desktopJsBundle); 

layout.cshtml:

<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/desktop-js-bundle")"></script> 

私はlocalhost/desktop-js-bundle/を訪問すれば、I次のように表示されます。

/*! jQuery v1.7.1 jquery.com | jquery.org/license */ 
function mytest(){alert('test');}(function(a,b){function cy(a){return f............ 

ご覧のとおり、jquery.jsファイルの先頭にあるコメントから始まり、test.jsファイルの内容がjquery.jsファイルの内容に戻ります。奇妙な行動。何かご意見は?ありがとう!

答えて

3

いくつかの内部注文が行われていますが、それは特定のルールに従っていますが、それらのルールをオーバーライドすることはできます。

//controls ordering for javascript files, otherwise they are processed in order of AddFile calls 
var bootstrapOrdering = new BundleFileSetOrdering("bootstrap"); 

//The popover plugin requires the tooltip plugin 
bootstrapOrdering.Files.Add("bootstrap-tooltip.js"); 
bootstrapOrdering.Files.Add("bootstrap-popover.js"); 

BundleTable.Bundles.FileSetOrderList.Add(bootstrapOrdering); 

UPDATE
私はあなたの質問を再読し、あなたが上にjQueryのコメントを見て驚いたことに気づいた:ここ

は、ファイルの正確な順序を指定する方法です。これは内部発注とは異なる理由によるものです。
基本的には、ファイルの上にあるすべてのコメントが抽出され、マージされて一番上に置かれます。これは、たとえばライセンス理由などです。ライセンスを必要とせずにライブラリを再配布することは許されず、通常はコメント内にあります。このようにして、ASP.NETチームは、縮小/バンドル時に省略されていないことを確認しました。

+0

どうすればよいですか? –

+0

@IanDavisあなたの実際の質問 – ntziolis

+0

を正しく読解するために答えを更新しました。私はglobal.asaxのバンドルに追加した順序は、レンダリングされたものと一致するようになると考えました。たとえば、まずjqueryをレンダリングし、次にtest.jsファイルをレンダリングする必要があります。しかし、私はブートストラップの事を試みます。ありがとう! –

関連する問題