3

我正在 MVC4 中实现捆绑和缩小,但是当我在 IIS 服务器上部署时它不起作用。我在我的 BundleConfig.cs 中使用了以下代码

public static void RegisterBundles(BundleCollection bundles)
{ 
    bundles.Add(new StyleBundle("~/Content/styles/siteCss").Include("~/Content/styles/reset.css")); 
    bundles.Add(new ScriptBundle("~/siteJsCommon").Include("~/Scripts/html5.js",
        "~/Scripts/jquery.js",
        "~/Scripts/jquery-migrate-1.1.1.js",
        "~/Scripts/jquery-ui-1.10.3.custom.js",
        "~/Scripts/carousel.js",
        "~/Scripts/template.js",
        "~/Scripts/jquery.validate.js",
        "~/Scripts/additional-methods.js",
        "~/Scripts/function.js"));

    BundleTable.EnableOptimizations = true;       
}

即使我检查了我的 web.config。看起来不错。

<compilation debug="false" targetFramework="4.5" />

谁能告诉我我在哪里做错了。是否可以仅启用捆绑包?

谢谢阿舒

4

2 回答 2

0

您需要在 Global.asax 的 Application_Start 事件中注册上面创建的捆绑包,例如

protected void Application_Start()
{
 RegisterBundles(BundleTable.Bundles);
 // Other Code is removed for clarity
}

捆绑和缩小在调试模式下不起作用。因此,要启用此功能,您需要在 Global.asax 的 Application_Start 事件中添加以下代码行。受保护的无效 Application_Start()

{
 BundleConfig.RegisterBundles(BundleTable.Bundles);
 //Enabling Bundling and Minification
 BundleTable.EnableOptimizations = true; 
 // Other Code is removed for clarity
}
于 2013-11-20T06:19:44.857 回答
0

没有内置的配置/选项可让您在不缩小的情况下启用捆绑。

但是,Bundles(脚本或样式)使用IBundleTransform:Microsoft.Web.Optimisation 包括两个默认转换类型 JsMinify 和 CssMinify,分别由 ScriptBundle 和 StyleBundle 使用。但是,我们可以根据需要创建自己的自定义转换类型来处理引用,甚至最好不要使用IBundleTransform.

所以,要在没有缩小的情况下启用捆绑,我们可以试试这个:

    //somewhere after all bundles are registered 
    foreach (var bundle in bundles)
    {
        bundle.Transforms.Clear();
    }
于 2013-07-15T07:52:49.863 回答