Вимоги: Модульне розширення System.Web.Optimization (також відоме як Microsoft ASP.NET Web Optimization Framework), яке постачається з Microsoft ASP.NET MVC, застаріло і давно не оновлювалося (Останнє оновлення: 2014/2/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 Authors * Авторські права 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, Whiskache (через 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вузол, модифікований наступним чином:
Повна конфігурація виглядає так:
(Кінець)
|