2012-07-30 67 views
2

當您添加腳本包和有類似:asp.net的MVC腳本包添加的所有文件

bundles.Add(new ScriptBundle("~/bundles/base.scripts").Include(
          "~/Scripts/jquery-1*")); 

它加載了原始版本的Jquery和縮小的版本。這些文件都在腳本文件夾中,所以我假設星號正在做你所說的。

有沒有辦法只具有縮小的版本呈現在調試=假模式和調試的原始版本時=真的嗎?

抑或是下降到實際指定要完全相同的文件,而不是使用星號?

問候, 雅克

回答

4

這應該是通過BundleCollection的FileExtensionReplacementList應選擇的文件.min版本會自動發生時調試=假。創建新項目時的默認模板也應該使用此功能。

+0

謝謝郝。我需要檢查這是否沒有發生? 另外,你有鏈接,我可以閱讀有關的預期行爲? – Jacques 2012-07-31 07:12:07

+0

目前還沒有任何好的文檔,但霍華德在他的演講中表示了這一點:http://channel9.msdn。com/Events/aspConf/aspConf/Bundling-and-Optimizing – 2012-07-31 17:29:33

+0

謝謝郝,我會檢查鏈接 – Jacques 2012-08-01 06:50:27

1

雖然這個問題現在已經一歲多,萬一有人通過它絆倒需要在同一個問題的幫助,捆綁推出{版本}通配符使用正則表達式尋找一個典型的版本號模式(如1.9.1),這樣當你手動更新包或通過NuGet時,你不必去改變你的Bundles配置。

這也將是足夠聰明,從文件中選擇名爲.min.js和.js文件 - 使用發佈配置前者,在調試後,在OP正是後。

對於ASP.NET MVC 4,這意味着使用調試配置時,文件 jquery-1.7.1.js將被添加到包中。在版本 配置中,將添加jquery-1.7.1.min.js。捆綁 框架如下幾種常見的約定,如:

  • 選擇「.min」文件發佈時「FileX.min.js」和「FileX.js」的存在。
  • 選擇調試非「.min」版本。
  • 忽略「-vsdoc」的文件(如jQuery-1.7.1-vsdoc.js),其僅由智能感知使用。

Bundling and Minification{version} wildcard in MVC4 Bundle

字的警告不過,如果你同時擁有jQuery的1.9.1.js和jQuery-1.10.2.js目錄(例如),那麼將被匹配並添加到捆綁包 - 顯然是不可取的。

還請注意,縮小版本的文件必須命名爲file.min.js,而不是file-min.js或min.file.js才能起作用。例如,YepNope庫在通過NuGet獲取時命名爲yepnope.1.5.4-min.js,這意味着這個和未經版本化的版本都被添加到捆綁包中。

相關問題