如何调试Minification失败。返回未经授权的内容

时间:2014-01-10 07:30:05

标签: asp.net-mvc bundling-and-minification

我正在使用Asp.net MVC 4捆绑包来捆绑和缩小我的Css文件。

YSlow在

下面显示此错误
 /* Minification failed. Returning unminified contents.
    (1442,26): run-time error CSS1019: Unexpected token, found ':'
    (1442,26): run-time error CSS1042: Expected function, found ':'
    (1442,26): run-time error CSS1062: Expected semicolon or closing curly-brace, found ':'
     */

这是我的捆绑代码,

    bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/site.css",
        "~/Content/fullcalendar.css",
        "~/Content/jquery.dropdown.css",
        "~/Content/jquery.tagit.css",
        "~/Content/tipsy.css"
        ));

现在我将如何找出导致问题的css文件?我如何调试以找到导致问题的行? site.css是我写的唯一的css文件。

3 个答案:

答案 0 :(得分:33)

如果有人还在处理这样的问题。

在上面的示例中:(1442,26)1442是行号,26是字符偏移量。但是,为此,您需要删除指示此错误的整个注释:

 /* Minification failed. Returning unminified contents.
    (1442,26): run-time error CSS1019: Unexpected token, found ':'
    (1442,26): run-time error CSS1042: Expected function, found ':'
    (1442,26): run-time error CSS1062: Expected semicolon or closing curly-brace, found ':'
     */

答案 1 :(得分:2)

以下是两个可能的原因:

  • 捆绑前应验证的无效CSS文件。这里 是W3C CSS validation service来达到这个目的。
  • 还要考虑Microsoft Optimizer读取目标内容 缩小过程的资源,所以通过使用一些特殊的短语 比如JavaScript文件中的@ sourceMappingURL=jquery.min.map或 在样式表文件中@charset "UTF-8";,缩小将是 失败了。因此,请尝试删除或纪念它们。

注意默认情况下,捆绑进程无法在css或js文件中构建图像资源的相对路径

相对图片路径解决方案:

您可以使用与捆绑路径相同的路径,如:

bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle")
       .Include("~/Content/css/jquery-ui/*.css"));

如果您在与构成捆绑包的源文件相同的路径上定义捆绑包,则图像资源的相对路径仍然有效(即/bundle可以是您喜欢的任何名称)。

或使用new CssRewriteUrlTransform()作为第二个参数,如:

bundles.Add(new StyleBundle("~/Content/css/bundle")
    .Include("~/Content/css/*.css", new CssRewriteUrlTransform()));

答案 2 :(得分:1)

过滤器:alpha(不透明度:0);引起这个问题的是这条线。我删除这一行后 我能够毫无问题地缩小css文件,