0

MVC4 C#网站,在调试模式下运行,“BundleConfig”文件中的代码有:

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
                "~/Scripts/jquery-1.8.2.min.js", 
                "~/Scripts/jquery.simplemodal.js", 
                "~/Scripts/jquery-ui-1.9.2.custom.min.js", 
                "~/Scripts/jquery.validate.js", 
                "~/Scripts/jquery.validate.unobtrusive.min.js", 
                "~/Scripts/site.js", 
                "~/Scripts/jquery.watermark.js", 
                "~/Scripts/jquery.signalR-0.5.3.min.js" ,
                "~/Scripts/jquery.dataTables.js"

在 web.config 中,debug="true"

我打开 firebug 并看到在“net -> js”选项卡部分,只调用不缩小 js。客户端未请求所有缩小 js 文件。

在我的布局中,我的代码是:

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

当我从 nuget 安装“Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0”包后,问题就开始了......当我在发布模式下运行网站时一切正常。我没有不缩小 js 文件,我想继续在调试模式下工作。我该如何解决?为什么没有出现客户端缩小 js 的请求?

4

1 回答 1

1

在调试模式下使用捆绑和缩小时,捆绑/缩小被禁用。

您可以通过添加BundleTable.EnableOptimizations = true;到您的RegisterBundles.

public static void RegisterBundles(BundleCollection bundles)
{
    //your bundle code
    BundleTable.EnableOptimizations = true;
}

更新:看到你的评论,我似乎误解了你的问题。

当您处于调试模式时,使用文件BundleTable.EnableOptimizations = false的版本。相反,将使用文件的完整调试版本。所以你的脚本文件夹应该有两个版本的文件:比如.min

jquery-1.9.1.min.js 
jquery-1.9.1.js

在调试模式下,jquery-1.9.1.js将被使用。在发布模式下,jquery-1.9.1.min.js将被使用。

如果您只有一个版本的文件,则只需从文件名中删除“.min”。

于 2013-02-18T22:35:56.480 回答