Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 5870|Ответ: 2

[Источник] Практическая эксплуатация: использовать BundleTransformer вместо System.Web.Optimization

[Скопировать ссылку]
Опубликовано 2022-11-12 11:05:08 | | | |
Требования: модульное расширение 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узел, модифицированным следующим образом:

Полная конфигурация выглядит следующим образом:

(Конец)





Предыдущий:[Настоящий бой]. Сбои и исключения приложений NET/C# автоматически генерируют DMP-дампы
Следующий:Можно ли виртуализовать сетевую карту? Подробное объяснение технологии виртуализации сетевых карт Macvlan
Опубликовано 2022-11-15 18:23:22 |
Учитесь немного
 Хозяин| Опубликовано 2023-07-10 18:35:50 |
ASP.NET Core (двенадцать) фронтенд JS, объединение CSS и компрессия
https://www.itsvse.com/thread-10282-1-1.html

Asp.net MVC Bundle объединяет все CSS-файлы вместе
https://www.itsvse.com/thread-4921-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com