Как отладить 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, который я написал.
Ответы
Ответ 1
Если кто-то все еще имеет дело с такими проблемами.
В приведенном выше примере: (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 ':'
*/
Ответ 2
фильтр: alpha (непрозрачность: 0); была линия, которая вызывала проблему. После того, как я удалил эту строку
я смог минимизировать файл css без каких-либо проблем,
Ответ 3
Здесь возможны две причины:
- Недействительные файлы CSS, которые должны быть проверены перед связыванием. Вот
служба проверки W3C CSS для этой цели.
- Также учитывая, что Microsoft Optimizer читает содержимое целевого
ресурсы для процесса минимизации, поэтому, используя некоторые специальные фразы
например
@ sourceMappingURL=jquery.min.map
в файле JavaScript или
@charset "UTF-8";
в файле StyleSheet, Minification будет
снова не удалось. Поэтому попробуйте удалить или прокомментировать их.
Примечание, который по умолчанию, процесс объединения не может создать относительный путь ресурсов изображения в файлах 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()));