Asp.net MVC的Bundle。合并工作正常。但压缩和缩小不起作用。

11

我所有的JavaScript和CSS都被合并在一起。但是当我查看它们时,它们并没有被压缩。我不知道为什么。

下面是我的捆绑包:

         bundles.Add(new Bundle("~/bundles/jqueryval").Include(
            "~/Scripts/jquery-ui.js",
            "~/Scripts/jquery.validate.js",
            "~/Scripts/grid.locale-tr.js",
            "~/Scripts/jquery.jqGrid.js",
            "~/Scripts/bootstrap.js",
            "~/Scripts/messages_tr.js",
             "~/Scripts/jquery.form.js"
           )
       );
        bundles.Add(new Bundle("~/bundles/mainjs").Include(
            "~/Scripts/jquery-1.10.2.js",
            "~/Scripts/bootstrap.js",
            "~/Scripts/superfish.js",
            "~/Scripts/jquery.flexslider.js",
            "~/Scripts/jquery.kwicks-1.5.1.js",
            "~/Scripts/jquery.easing.1.3.js",
            "~/Scripts/jquery.cookie.js",
            "~/Scripts/touchTouch.jquery.js"
           )
       );

        bundles.Add(new Bundle("~/bundles/allcss").Include(
           "~/Content/Css/bootstrap*",
           "~/Content/Css/opa-icons.css",
           "~/Content/Css/charisma-app.css",
           "~/Content/Css/ui.jqgrid.css",
           "~/Content/Css/jquery-ui.css"
           )
       );

        bundles.Add(new Bundle("~/bundles/maincss").Include(
           "~/Content/Css/bootstrap.css",
           "~/Content/Css/responsive.css",
           "~/Content/Css/style.css",
           "~/Content/Css/touchTouch.css",
           "~/Content/Css/kwicks-slider.css"
           )
       );

这是我的全局.asax:

        protected void Application_Start()
    {
#if DEBUG
        BundleTable.EnableOptimizations = false;
#else
                    BundleTable.EnableOptimizations = true;
#endif
        AreaRegistration.RegisterAllAreas();
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);

        GlobalConfiguration.Configuration.MessageHandlers.Add(new CorsHandler());
    }

并且:

 @System.Web.Optimization.Scripts.Render("~/bundles/mainjs")
 @System.Web.Optimization.Styles.Render("~/bundles/maincss")

1
你是否处于调试模式?脚本引用的输出HTML是什么? - MikeSmithDev
2个回答

20

你没有使用ScriptBundle,而是使用了Bundle,所以它们没有被压缩。一个Bundle 只是打包它们在一起(嘿,这只是一个单词 :)),而ScriptBundle 则会打包和压缩。


7

因为您可能处于“DEBUG”模式,所以它们未被压缩。

请尝试设置此选项:

BundleTable.EnableOptimizations = true;

看看会发生什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接