2013-09-01 75 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

不客气。 :) –