2014-01-10 1 views
20

Я использую Asp.net MVC 4 для расслоения и минимизации моих файлов Css.как отладить Minification не удалось. Возврат unminified contents

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, который я написал.

+0

вы хотите отключить минификацию? – Cris

+0

Нет, я хотел бы минимизировать. Вы предпочитаете использовать сторонние инструменты, такие как css minfier, чем MVC bundler? – user636525

+2

попробуйте создать отдельный комплект для каждого файла, затем вы можете найти, для какого файла сбой Minification – Cris

ответ

1

фильтр: альфа (непрозрачность: 0); была линия, которая вызывала проблему. После того как я удалил эту строку , я смог минимизировать файл css без каких-либо проблем,

+3

Все примеры, которые я видел, показывают фильтр: alpha (opacity = 0); –

+0

Изменение тега, чтобы сказать opacity = 0, а не непрозрачность: 0 исправлено это для меня – Icestorm0141

26

В случае, если кто-то все еще имеет дело с такими проблемами.

В приведенном выше примере: (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 ':' 
    */ 
+4

Я обнаружил, что это происходит на jQuery, установленном nuget ...!? ОК, я удалил мин версию, и она ее отсортировала. Похоже, что на debug = false он пытается минимизировать мини-версию, она терпит неудачу и возвращает мусор. Действительно странно. Удаление всех .min отсортировано для меня – ppumkin

+0

Это даже номера строк в исходном файле. Это номера строк в некоторой расширенной версии файла (т. Е. Незавершенный вывод). – Triynko

1

Вот две возможные причины:

  • Недействительные CSS файлы, которые должны быть проверены, прежде чем пакетирования. здесь является W3C CSS validation service для удовлетворения этой цели.
  • учитывая также, что Microsoft Optimizer считывает содержимое целевого ресурсов для минификация процесса, поэтому с помощью некоторых специальных фраз, как @ sourceMappingURL=jquery.min.map в файле JavaScript или @charset "UTF-8"; в файле STYLESHEET, то минификация будет снова не удалось. Поэтому попробуйте удалить или прокомментировать их.

Примечание, что по умолчанию Пакетирующего процесс не может построить относительный путь изображения ресурсов в CSS или JS-файлах.

Относительный Image Path Решение:

Вы можете использовать один и тот же путь, связывая путь как:

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())); 

 Смежные вопросы

  • Нет связанных вопросов^_^