4

我在使用 ASP.NET MVC 4 的捆绑和缩小功能时遇到问题 基本上我有以下捆绑设置:

        bundles.Add(new StyleBundle("~/backendcss").Include(
                    "~/backendContent/bootstrap/css/bootstrap.min.css",
                    "~/backendContent/assets/jui/css/jquery-ui.css",
                    "~/backendContent/assets/jui/jquery-ui.custom.css",
                    "~/backendContent/plugins/uniform/css/uniform.default.css",
                    "~/backendContent/plugins/fullcalendar/fullcalendar.css",
                    "~/backendContent/plugins/fullcalendar/fullcalendar.print.css",
                    "~/backendContent/assets/css/fonts/icomoon/style.css",
                    "~/backendContent/assets/css/main-style.css",
                    "~/backendContent/plugins/pnotify/jquery.pnotify.css",
                    "~/backendContent/plugins/msgbox/jquery.msgbox.css",
                    "~/backendContent/IntroJS/css/introjs.css"));

当它们被放置在页面上时,它们会像这样出现:

<link href="/backendContent/assets/jui/css/jquery-ui.css" rel="stylesheet"/>
<link href="/backendContent/assets/jui/jquery-ui.custom.css" rel="stylesheet"/>
<link href="/backendContent/plugins/uniform/css/uniform.default.css" rel="stylesheet"/>
<link href="/backendContent/plugins/fullcalendar/fullcalendar.css" rel="stylesheet"/>
<link href="/backendContent/plugins/fullcalendar/fullcalendar.print.css" rel="stylesheet"/>
<link href="/backendContent/assets/css/fonts/icomoon/style.css" rel="stylesheet"/>
<link href="/backendContent/assets/css/main-style.css" rel="stylesheet"/>
<link href="/backendContent/plugins/pnotify/jquery.pnotify.css" rel="stylesheet"/>
<link href="/backendContent/plugins/msgbox/jquery.msgbox.css" rel="stylesheet"/>
<link href="/backendContent/IntroJS/css/introjs.css" rel="stylesheet"/>
  1. 第一个问题是 Tilda~没有出现在链接的开头,我认为这是问题之一(网站无法正确呈现)现在所有上述 css 样式表都在解决,但是有很多导入和相对 url(图像) 而且我认为这些都搞砸了(没有捆绑包,如果我只是指出~/backendContent/....一切正常

  2. 第二个问题是,当我设置BundleTable.EnableOptimizations = true;有更多问题并深入挖掘时,我得到了一个巨大的列表 (4368,1):运行时错误 CSS1019: Unexpected token, found '@import' (4368,9): run-时间错误 CSS1019: Unexpected token, found 'url("layout.css")'

我不知道这是否重要,但生成的缩小和渲染样式链接@Styles.Render("~/backendcss")是:

 <link href="/backendcss?v=eMX6YcVB78xPWZV9Dw6seHqsT742J8_M1irfUC0IdaQ1" rel="stylesheet"/>

有任何想法吗?很抱歉,这是我第一次使用这个功能,而且这个网站有这么多的 css 和 js,它会节省很多带宽并加快整个网站的速度。再加上它简直太酷了(如果我能让它工作的话)!!!

4

3 回答 3

1

我认为要使缩小工作,您需要添加 global.asax 文件

BundleTable.EnableOptimizations = true;

您还可以尝试创建不同的组,例如将 jqueryui 与引导程序分开等等。

于 2013-08-01T06:48:31.740 回答
1
  1. ~不应该被渲染。这是 asp.net 中的一个特殊字符,这意味着the root of the application

  2. 我不确定您为什么在实际缩小时遇到问题,但是如果没有来源,这将很难诊断。

  3. 优化后的链接应该是这样的。最后的 ?v=xxx 用于缓存清除,以便人们在您更改 css 文件时获得更新的 css。

于 2013-08-01T06:00:43.367 回答
1

Darren Kopp 是对的“~ 不应该被渲染。这是 asp.net 中的一个特殊字符,表示应用程序的根”..

并且不要使用“.min”,因为当你设置BundleTable.EnableOptimizations = true;它时,它会最小化你的文件。所以它应该是这样的;

bundles.Add(new StyleBundle("~/backendcss").Include(
                    "~/backendContent/bootstrap/css/bootstrap.css",
                    "~/backendContent/assets/jui/css/jquery-ui.css",
                    "~/backendContent/assets/jui/jquery-ui.custom.css",
                    "~/backendContent/plugins/uniform/css/uniform.default.css",
                    "~/backendContent/plugins/fullcalendar/fullcalendar.css",
                    "~/backendContent/plugins/fullcalendar/fullcalendar.print.css",
                    "~/backendContent/assets/css/fonts/icomoon/style.css",
                    "~/backendContent/assets/css/main-style.css",
                    "~/backendContent/plugins/pnotify/jquery.pnotify.css",
                    "~/backendContent/plugins/msgbox/jquery.msgbox.css",
                    "~/backendContent/IntroJS/css/introjs.css"));
于 2013-08-01T06:16:20.477 回答