2013-09-01 72 views
2

RegisterBundles工作:捆綁不適合我-MVC

bundles.Add(new ScriptBundle("~/bundles/AllScripts").Include(
    "~/Scripts/jquery.x123.{version}.js", 
    "~/Scripts/bootstrap.js", 
    "~/Scripts/jqRect.js")); 

在共享版式文件:

@Scripts.Render("~/bundles/AllScripts") 

在Global.asax中,我們有:

BundleConfig.RegisterBundles(BundleTable.Bundles); 

腳本沒有合併,也沒有被縮小。

這是在發佈模式。

有什麼遺漏了嗎?

回答

2

在您的web.config中,您需要在<compilation> -tag中設置屬性debug="false"

這意味着您可以使用此標誌在部署之前允許在本地進行javascript調試(調試縮小和綁定的javascript顯然是不可能的)。

注意:「發佈模式」標誌隻影響C#(或VB.NET)編譯器編譯您的類的方式,並且與<compilation> -tag的debug屬性無關。另請注意,debug屬性控制着ASP.NET MVC是否緩存磁盤上視圖的位置,因此對性能有很大影響:在生產環境中應始終有debug=false

+0

對,那是在釋放模式(在Visual Studio中運行的設置),但似乎它並沒有生效那裏,你是對的,+1 – LastBye

+0

這是正確的答案,所以強迫我等待,然後將其設置爲答案,我在等待,雖然我認爲他們的順序是正確的,但一切似乎都是錯誤的,還有什麼我應該照顧的? – LastBye

+0

我相信一旦你把它標記爲正確,它就會上升到最高點。 – Rune

1

當您使用Debug模式開發項目時,它不會進行組合和縮小。然而, 可以迫使它這樣做,通過設置

BundleTable.EnableOptimizations = true; 
+0

不知道,但下面的答案工作。也許正如你所說,這可能是一個更強迫這樣做,但似乎我們並不需要它。謝謝+1 agha abbas – LastBye

+0

不客氣。 :) –