Требования: модульное расширение System.Web.Optimization (также известное как Microsoft ASP.NET Web Optimization Framework), которое поставляется с Microsoft ASP.NET MVC, устарело и долгое время не обновлялось (Последнее обновление: 2014.02.20, есть некоторые баги, которые никто не исправил), введение bootstrap 4 вызовет ошибку, при этом используется сторонний Bundle Transformer вместо стандартного.
О сжатии с пакетами:Вход по гиперссылке виден.
System.Web.Optimization:F:\...\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll
Адрес NuGet:Вход по гиперссылке виден.
System.Web.Optimization выдаст следующую ошибку при объединении Bootstrap 4:
/* 未能缩小。正在返回未缩小的内容。 (6,10): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закручивающая скоба, найдена '-' (6,25): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6,42): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся кронштейн, найдена '-' (6,59): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закручивающая скоба, найдена '-' (6,74): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6,88): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6,105): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающая закруглённая корсетка, найдена '-' (6,122): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6 138): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6 153): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся завитая, найдена '-' (6,168): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6,181): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6,196): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6 216): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6 234): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6 254): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6 272): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающая закруглённая корсетка, найдена '-' (6 287): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6 305): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6,322): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающая закруглённая скоба, найдена '-' (6,338): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' (6,353): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся кронштейн, найдена '-' (6 371): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6 393): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся кронштейн, найдена '-' (6 415): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6 437): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6 460): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая скоба, найдена '-' (6 644): ошибка во время выполнения CSS1062: ожидаемая точка с запятой или закрывающаяся закруглённая корсетка, найдена '-' */
/*! * Bootstrap v4.1.3 (https://getbootstrap.com/) * Авторские права 2011-2018 Авторы The Bootstrap * Авторские права 2011-2018 Twitter, Inc. * Лицензирован по MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
Пучной трансформатор
Bundle Transformer — модульное расширение System.Web.Optimization (также известного как Microsoft ASP.NET Web Optimization Framework). Классы StyleTransformer и ScriptTransformer, которые входят в ядро Bundle Transformer и реализуют интерфейс IBundleTransform. Они разработаны для замены стандартных классов: CssMinify и JsMinify.
Основные отличия между StyleTransformer и классовыми и стандартными реализациями ScriptTransformer: возможность исключать ненужные ассеты при добавлении ассетов из каталога, отсутствие масштабирования предварительно минифицированных ассетов, поддержка автоматического преобразования относительных путей в абсолютные пути в CSS-коде (с помощью UrlRewritingCsPostProcessor) и т.д. Эти классы не обеспечивают минификацию кода во время выполнения, но эту функциональность можно добавить, установив мини-модули (доступные сейчас модули основаны на Microsoft Ajax Minifier, YUI Compressor для .NET, NUglify, Google Closure Compiler, JSMin Дугласа Крокфорда, Packer Дина Эдвардса, UglifyJS от Михая Базона, CSSO (CSS Optimizer) от Сергея Крыжановского, WebGrease и Clean-css). Кроме того, можно установить модули перевода для реализации перевода кода на промежуточных языках (LESS, Sass, SCSS, CoffeeScript, TypeScript, Mustache (с использованием Hogan) и Handlebars. Кроме того, существует третий тип модуля в Bundle Transformer — постпроцессоры. Постпроцессор работает после транслятора и перед компрессором. В настоящее время доступны следующие постпроцессоры: URL Rewrite CSS Postprocessor (включён в ядро) и постпроцессорные модули на базе автопрефикса Андрея Ситника.
Адрес на GitHub:Вход по гиперссылке виден. Руководство по документации:Вход по гиперссылке виден.
BundleTransformer.Core просто предоставляет функциональность пакетирования иТакие функции, как обфускация сжатия, недоступныЕсли необходимо ввести сжатие и другие функции в другие модули, в этой статье будет использованоBundleTransformer.NUglifyМодуль расширения сжимает объединённые выходы CSS и JS.
BundleTransformer.NUglify содержит два мини-адаптера: «NUglifyCssMinifier» (для миниатюризации CSS-кода) и «NUglifyJsMinifier» (для миниатюризации JS-кода). Эти адаптеры выполняют минификацию (https://github.com/trullock/NUglify). Таким образом, проект может напрямую внедрить BundleTransformer.NUglify с помощью следующей команды NuGet:
После завершения установки измените конфигурацию BundleConfig.cs следующим кодом:
На этом этапе получите доступ к ссылке /plugins/site/login, ресурсу css иНе сжатый, также нужно изменить конфигурацию web.config, чтобы "NUglifyCssMinifier" стал стандартной CSS-мини-программой.
UrlRewritingCssPostProcessor: поддерживает автоматическое преобразование относительных путей в абсолютные пути в CSS-коде и т.д.
Найдите файл web.config/configuration/bundleTransformer/core/cssузел, модифицированным следующим образом:
Полная конфигурация выглядит следующим образом:
(Конец)
|