Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/40: Рейтинг темы: голосов - 40, средняя оценка - 4.93
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278

Bundles и minification, версия статических файлов

02.07.2021, 11:21. Показов 7916. Ответов 12

Студворк — интернет-сервис помощи студентам
День добрый.

Столкнулся с проблемой.
необходимо :
1) объединить в bundle css и js файлы
2)минифицировать bundle
3) добавить версию для bundle - чтоб не надо было обновлять кеш на клиенте если css или js файл был изменен

почитав интернет
1) установил bundles & minification на визуал студию +
2) объединил файлы css и минифицировал их + (появился файл bundle.min.css)

3) исправил веб конфиг

XML
1
 <compilation debug="true" targetFramework="4.5" /> на debug="false"
не получается добавить версию файла ( чтоб каждый раз после обновлений не чистить кеш браузера )

*в картинке образец к чему стремлюсь а именно тег "v=хеш файла "

используется asp.net mvc 3
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.07.2021, 11:21
Ответы с готовыми решениями:

Сжатие статических файлов в IIS 6
Всем привет! Может, кто-то подскажет, почему в IIS 6 (возможно, не только в нём) компрессия статических файлов по умолчанию включена...

Подключение статических файлов к сайту Django
Holla! Изучаю Django и дошёл до подключения статических фалов. Но, прочитав документацию у меня возник вопрос - как точно подключать...

Настройка статических файлов для nginx
Всем привет. Сейчас есть сервер на котором работает сайт через nginx + php-fpm. И проблема в том, что картинки которые есть на страницах...

12
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
02.07.2021, 11:22  [ТС]
картинка образец из статьи о работе bundls
Миниатюры
Bundles и minification, версия  статических файлов  
0
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
02.07.2021, 11:42  [ТС]
пытался сделать следующее
Во-первых, добавим в коде специальный атрибут ко всем тег-хелперам, которые подключают статичные файлы:

<link rel="stylesheet" href="/content/bundleCss.min.css" asp-append-version="true" />
asp-append-version="true" – данный атрибут добавляет к имени файла подстроку, содержащую контрольную сумму, которая отражает «версию» файла. В результате конечный HTML-код будет выглядеть следующим образом:
asp-append-version но работает только asp.net CORE
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
05.07.2021, 10:36
kyvaldenius, лучше такие вещи доверять сторонним бандлерам и минификаторам, а не пытаться на студию навешивать плагины. Погуглите про WebPack или Gulp. Это куда более распространённые решения. К тому же, на MS никак не завязанные.

Добавлено через 5 минут
Цитата Сообщение от kyvaldenius Посмотреть сообщение
используется asp.net mvc 3
Вы же знает, что на дворе 2021 год уже на половину прошедший?
1
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
05.07.2021, 10:59  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Погуглите про WebPack или Gulp
спасибо за информацию,

"а не пытаться на студию навешивать плагины"- почему плохо использовать плагины VS? я думал наоборот проверенное надежное решение.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
05.07.2021, 11:03
kyvaldenius, этим решением практически не пользуются. Тот же WebPack на студию вообще никак не завязан и куда более гибкий и настраиваемый.

Если у вас есть какое-то основание использовать Visual Studio для этого, то ладно. Но я лично в этом смысла не вижу вообще никакого. Последний раз, когда я такое видел, было лет шесть назад. И то, там старый проект был...
0
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
05.07.2021, 11:03  [ТС]
кстати раз затронули "используется asp.net mvc 3" -- можно ли пересобрать приложение под более новую версию (например asp.net mvc 5) или сразу на CORE



когда то читал что если VS имеет доступ к обновлениям то проект сам будет переходить на новую версию (в рамках ветки технологий)- но что то мне это сдается это не так
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
05.07.2021, 11:09
Цитата Сообщение от kyvaldenius Посмотреть сообщение
можно ли пересобрать приложение под более новую версию (например asp.net mvc 5)
Да. И с высокой долей вероятности почти ничего переделывать не придётся.

Цитата Сообщение от kyvaldenius Посмотреть сообщение
или сразу на CORE
А это уже может быть труднее. API в Core поменялся и довольно сильно. Если проект не сильно большой и сложный, то может быть быстро справитесь. Но однозначно код поменять придётся.
0
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
05.07.2021, 11:23  [ТС]
Спасибо за раннее предоставленную информацию

исходя из моих задач все таки попробую разобраться с расширением Bundler & Minifier (почему не ставит версию файла для кеширования на стороне клиента)
0
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
05.07.2021, 11:31  [ТС]
Спасибо за раннее предоставленную информацию

исходя из моих задач все таки попробую разобраться с расширением Bundler & Minifier (почему не ставит версию файла для кеширования на стороне клиента)
0
HF
 Аватар для HF
1303 / 882 / 199
Регистрация: 09.09.2011
Сообщений: 2,590
Записей в блоге: 2
05.07.2021, 12:03
Лучший ответ Сообщение было отмечено Usaga как решение

Решение

Цитата Сообщение от kyvaldenius Посмотреть сообщение
кстати раз затронули "используется asp.net mvc 3" -- можно ли пересобрать приложение под более новую версию (например asp.net mvc 5) или сразу на CORE
Есть официальные (Microsoft) гайды по обновлению с 3 на 4 или 5ую версии. Обновление в целом очень простое: обновление Nuget библиотек и мелкие изменения в Web.config.
Если у вас не набодяжено легаси, то ничего переделывать не нужно будет. В моём проекте MVC3 были сделаны Helpers аналоги тех которые есть уже в MVC5. Поэтому после обновления я их просто удалил (проверив предварительно что результат они давали аналогичный).
На Core не перейти. Даже потому что у вас .Net4* приложение. Нельзя просто взять и начать использовать NetCore либы.

Цитата Сообщение от kyvaldenius Посмотреть сообщение
добавить версию для bundle
В старом проекте используется Combres.
Просто так это сразу не заработает. Суть всего этого - вы создаёте фильтры, которые анализируют контект и что-то с ним делают + можно ещё и "адресную строку" изменить.
Простой вариант реализаци: вы всю свою статику не напрямую прописываете а через хэлпер, который добавляет тэги и знает отдать из кэша или нет. Будет не img.src а хелпером url.staticversion который сформирует адрес.

Цитата Сообщение от Usaga Посмотреть сообщение
лучше такие вещи доверять сторонним бандлерам и минификаторам, а не пытаться на студию навешивать плагины. Погуглите про WebPack или Gulp. Это куда более распространённые решения. К тому же, на MS никак не завязанные.
Эт точно. То что делали раньше, не всегда стоит переносить в будущее. Поизучал тему и оказалось что никто в Core ничего не сжимает как раньше. Просто пользуются минификаторами + вебсервер жмёт данные. Этого достаточно.

Вот примерное объяснение работы и настройки:
Bundling in MVC
http://mvc-solutions.blogspot.com/p/mvc.html

COMBINING JAVASCRIPT BUNDLING, MINIFICATION, CACHE BUSTING, AND EASIER DEBUGGING
https://volaresystems.com/tech... -debugging
1
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
05.07.2021, 12:51  [ТС]
Цитата Сообщение от HF Посмотреть сообщение
Вот примерное объяснение работы и настройки:
спасибо щас буду разбираться
0
16 / 12 / 4
Регистрация: 28.09.2015
Сообщений: 278
16.07.2021, 10:44  [ТС]
В результате справился с задачей

правда еще в процессе но то что хотел уже рабодает:
1)создается общий bundle
2)минификация bundle на предыдущем шаге
3)создание строки версии (чтоб не на до было чистить кеш)

использовал bundle&minification - так как довольно просто использовать решил на нем остаться
а для подключения версии
https://volaresystems.com/tech... debugging- приведенный выше
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2021, 10:44
Помогаю со студенческими работами здесь

Настройка кэша для статических файлов
Сжатие текста &lt;IfModule mod_deflate.c&gt; AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE...

Убрать расширение .html у статических файлов
Подскажите как убрать расширение у файлов и при этом чтобы страница отдавала код 200 и содержимое страницы. При таком конфиге страница...

Отличие статических библиотек и header файлов
Здравствуйте. Интересно какая, по большому счету, разница между использованием статической библиотеки *.a и header-файлов *.h и в каких...

Загрузка статических и полу-динамических строк из файлов
Ищу предположения как можно организовать статические строки для приложения т.е. мне нужен ассоциативный массив. Сейчас думаю хранить в...

Как убрать кеширование статических файлов в MVC?
Я что то меняю в scss, сохраняю, вижу изменения в css, запускаю, и ничего не изменилось. Что я делаю не так? Как мне увидеть изменения?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru