Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 24089|Отговор: 8

[Източник] ASP.NET Core (дванадесет) фронтенд JS, CSS пакетиране и компресия

[Копирай линк]
Публикувано на 28.03.2022 20:55:50 | | | |
Изисквания: В предишни MVC проекти за .NET Framework, JS, CSS могат да бъдат пакетирани и компресирани с помощта на библиотеката Microsoft.AspNet.Web.Optimization на Microsoft. След като използвам ASP.NET Core, как да комбинирам и компресирам съществуващите JS и CSS файлове?

Проектът .NET Framework се позовава на следното:

Примерен код:

подвързване

Обединяването на множество файлове в един файл. Обединяването намалява броя на сървърните заявки, необходими за рендериране на уеб актив, като уеб страница. Можете да създавате колкото искате отделни пакети специално за CSS, JavaScript и други. По-малко файлове означават от браузъра към сървъра или от услугата, която предоставя приложениетоПо-малко HTTP заявки。 Това подобрява производителността при зареждане на началната страница.

Компресиране

Минимизирайте премахването на ненужни символи от кода си, без да променяте функционалността. Резултатът бешеРазмерът на поисканите ресурси, като CSS, изображения и JavaScript файлове, е значително намален。 Чести странични ефекти от минификацията включват съкращаване на имената на променливите до един символ и премахване на коментари и ненужни интервали. В същото време можеОбъркай кода, което не е благоприятно за други конкуренти, които четат нашия изходен код.

Подобрения в производителността от пакетиране и компресия

Следната таблица очертава разликите между зареждането на активи поотделно и използването на пакетиране и минификация:



Той спестява трафик и подобрява скоростта на зареждане по отношение на мрежовия транспорт, като същевременно намалява HTTP заявките и подобрява скоростта на зареждане.

За HTTP заглавни заглавия браузърът е много подробен. Когато се комбинира, общият брой изпратени байтове метрика значително намалява. Времето за зареждане показва значителни подобрения, но този пример работи локално. Обединяването и минификацията могат да се комбинират с активи, пренесени през мрежата, за постигане на по-високи печалби в производителността.

ASP.NET Core няма собствено пакетно и компресирано решение и трябва да използва решение, предоставено от трета страна, тази статия използва "LigerShark.WebOptimizer.Core(Библиотеката в крайна сметка се обади.)NUglifyИмплементирайте JS и CSS обработка), адрес на GitHub:Входът към хиперлинк е видим.

Първо, създайте нов проект ASP.NET Core 6 и изпълнете следната команда за референция:

Създай нова статична папка в проекта wwwroot, за да съхраняваш тестовите css и js файлове. Създайте нов CSS и JS файл, както е показано по-долу:



Модифицирайте Program.cs файла и добавете услугата WebOptimizer и междинния софтуер, основният код е следният:

Когато се опитваме да започнем проекта, откриваме, че коментарите както на CSS, така и на JS кода са изтрити, файловете са компресирани, а някои променливи в JS са намалени до една буква, както е показано на фигурата по-долу:



След това създай нов js файл от статичната папка, за да тестваш функцията за пакетиране.Съберете test.js и test2.js в един common.js файл(и не генерира common.js физически файл), конфигурационният код е следният:

Визуализациите са както следва:



Препратка:

Входът към хиперлинк е видим.
Входът към хиперлинк е видим.





Предишен:C# 8.0 може да бъде нулев референтен тип
Следващ:[Истински бой]. NET 6 Random генерира тест за случайни числа
 Хазяин| Публикувано на 28.03.2022 20:56:47 |
Преглед:

ASP.NET Маршрутът на крайната точка на Core (XI) добавя междинен софтуер за показване на всички DI услуги
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Подробно обяснение на приоритетите на конфигурацията в Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Подробно обяснение на междинния софтуер на Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Подробно обяснение на основния междинен софтуер
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET яма с стандартните параметри на Swagger UI в Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Ядро (7) Задълбочен анализ на изходния код на рамката
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI ръчно получава метода за инжектиране на обекти
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (пет) се базира на разпределени транзакции с CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Филтър Core(4) унифицирана валидация на модела ModelState
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Ядро (iii) Динамично създаване на инстанции чрез ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Ядро (2) Рестартиране на приложението чрез код
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) използва кеширане на Redis
https://www.itsvse.com/thread-9393-1-1.html
Публикувано на 29.03.2022 00:38:21 |
Научи се да учиш.
Публикувано на 2022-4-6 12:02:33 |
Ligershark.WebOptimizer.Core и WebMarkupMin.AspNetCore6 опитаха
 Хазяин| Публикувано на 2022-4-6 13:45:12 |
johnyoung Публикувано на 2022-4-6 12:02
Ligershark.WebOptimizer.Core и WebMarkupMin.AspNetCore6 опитаха

Кое е по-добро
Публикувано на 2022-4-6 14:53:12 |
Тази публикация беше последно редактирана от johnyoung на 6.04.2022 14:56

(Не знам как да изтрия дублиращи се коментари, моля, изтрийте този пост, когато уебмастърът го види)
Публикувано на 2022-4-6 14:54:11 |

Имам предварително разбиране: първото е за пакетиране и компресиране на js и css файлове, второто е компресиране на page html и js, css код и http компресия върху страницата и т.н., и не е ясно дали вторият може да пакетира и компресира js и css файлове. Току-що го пробвах и не го използвах в дълбочина. Очаквам с нетърпение да разгледате и публикувате още една статия.
 Хазяин| Публикувано на 2024-4-24 15:35:15 |
Конфигуриране на средата за разработка без компресиране на css и js, код:




 Хазяин| Публикувано на 2024-10-10 11:28:22 |
Фронтендът използва Minify за компресиране и сливане на множество CSS файлове
https://www.itsvse.com/thread-10845-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com