2012-03-20 5 views
2

_Layout.cshtmlMVC 4つの束ねるだけjqueryの1.7結果

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

Global.asax.cs

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

私はソースを表示http://localhost:52221/desktop-js-bundle?v=...に、私は以下を参照してください:

/* Minification failed. Returning unminified contents. 
(2,1): run-time error CSS1019: Unexpected token, found '(' 
(and some other errors like this) 
*/ 
/*! jQuery v.1.7.1 jquery.com | jquery.org/license */ 
(function(a,b)(function cy(a)....... (the rest of the jquery library. NOTE: starts with that "(") 

私は何が欠けていますか? MVC 4で提供されるバンドルが本当に始まるのjQueryの道が好きではありません「(」?ありがとう。

はUPDATE! 私はnew JsMinify()の代わりにnew CssMinify()を使用していました。

+0

既に縮小された 'jquery-1.7 'を' CssMinify'しようとしていますか? 1.min.js'?それはunmified 'jquery-1.7.1.js'と同じ結果ですか? – nemesv

+0

合意しました。すでに縮小されているファイルを縮小する必要はありません。追加のCPUサイクルを焼くだけです。また、問題を引き起こしている可能性があります。 – javram

+0

私は結局バンドルにいくつかのファイルを持っているでしょう、いくつかはすでに縮小されていますが、そうでないものもあります。私はちょうどそれらのすべてを細かくしたいと思いますが、既にバンドルされていて、既に/ minifiedされています〜/ now-minified –

答えて

3

を、私はそれが勝った推測していますあなたは通常、googleやMS CDNに直接行くことで、より良いperfを得ることができます。

+0

セミコロンがありません。 CDN。perf boostが、Webサイトが他のjsファイルと一緒にjqueryをバンドルする必要があるという追加のhttp要求を上回るかどうかは疑問です。 1つはすべてjqueryのため、もう1つはjqueryのためです。 –

+1

それだけです。ユーザーがブラウザにキャッシュされたGoogle jqueryを持っていれば、余計なリクエストはありません。セミコロン:バンドルの共通の問題は、終了していないjavascriptを連結することができないことですセミコロンでMinificationは最後のセミコロンをトリミングします。後でそのスクリプトをバンドルしようとすると、多くのバンドルがJavaScriptエラーになります。 –

+0

すばらしい、ありがとう!おそらくmvc 4のフルリリースではこれらの問題のいくつかが解決されるでしょう。あなたのアドバイスを取って、バンドルにjqueryを入れないで、代わりにhttp://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.jsを使用してください。 cdn、右?) –

関連する問題