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

Вид: 24089|Ответ: 8

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

[Скопировать ссылку]
Опубликовано 28.03.2022 20:55:50 | | | |
Требования: В предыдущих проектах MVC на .NET Framework JS, CSS можно было объединять и сжимать с помощью библиотеки Microsoft Microsoft.AspNet.Web.Optimization. После использования 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 Подробное объяснение Core Middleware
https://www.itsvse.com/thread-8126-1-1.html

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

ASP.NET Core (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 Core (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 оба попробовали
 Хозяин| Опубликовано 6.04.2022 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

(Я не знаю, как удалить дублирующиеся комментарии, пожалуйста, удалите этот пост, когда вебмастер его увидит)
Опубликовано 6.04.2022 14:54:11 |

У меня есть предварительное понимание: первое — это объединение и сжатие файлов js и css, второе — сжатие page html, js, css-код и http-компрессия на странице и т.д., и неясно, может ли вторая упаковать и сжимать файлы js и css. Я только что попробовал и не использовал подробно. С нетерпением жду, когда вы расскажете и опубликуете новую статью.
 Хозяин| Опубликовано 24.04.2024 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