{версія} wildcard у пакеті MVC4


155

У MVC 4 у нас є пучки. Під час визначення пакетів ми можемо використовувати подстановочні символи типу * для всіх файлів у папці.

У наведеному нижче прикладі що -{version}означає?

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js"));
}

Відповіді:


177

-{version}Основному відображає в версії регулярних виразів , або, якщо бути точним: (\d+(?:\.\d+){1,3}).
Використання, *як правило, захоплює занадто багато, наприклад, якщо ви згрупуєте jquery*, це також буде включати jquery-ui, що може зіпсувати замовлення. Але використання jquery-{version}.jsдозволить вам уникнути необхідності оновлювати визначення свого пакета щоразу, коли ви оновлюєте jquery.

Додаткові речі:

  • {version} працює лише для останньої частини шляху - в основному ім'я файлу - не каталог.
  • декілька версій jquery в одній папці всі потраплять.

2
Як би це працювало з кількома версіями ex: jquery, присутніми в папці?
pavsaund

18
Це регулярний вираз, тому він буде включати всі збіги, тому якщо у вас було кілька версій в одному каталозі, ви, ймовірно, не хотіли б цим користуватися.
Хао Кунг

3
Зауважте, що {версія}, здається, не працює в межах шляху. На роботі у нас є шлях завантажувальної програми (не в назві файлу), тому я намагаюся це зробити: "~ / Content / Libraries / bootstrap / {version} /css/bootstrap.css" Але коли я запускаю RegisterBundles, я отримую ArgumentException, який говорить "Каталог не існує".
Майкл Нельсон

4
проголосуйте за непрацювання в каталозі. Будь-які рішення, щоб він працював у каталозі?
Zapnologica

3
Редагувати: неважливо, вони тут чітко пояснюють! asp.net/mvc/overview/performance/bundling-and-minification Дякую!
Джон Котер

12

Цей пакет може вміщувати номери версій у назвах скриптів. Тому для оновлення jQuery до нової версії у вашій програмі (через NuGet або вручну) не потрібні зміни коду / розмітки.

Перегляньте наступне посилання для отримання додаткової інформації про групування: http://weblogs.asp.net/jgalloway/archive/2012/08/16/asp-net-4-5-asp-net-mvc-4-asp-net- web-pages-2-and-visual-studio-2012-web-developer-features.aspx


3
Поки ви переконаєтесь, що старі версії фактично видалені.
Трайнко

При використанні {версії} я отримую Jquery не визначено, і коли я замінюю фактичну версію, в моєму випадку 3.1.1 вона працює добре.
Марк Руссель

0

~/Scripts/jquery-{version}.jsвходить до нього. Тут система поєднання досить розумна, щоб посилатись на найвищу версію файлу jquery, коли ми вказали селектор {version} на шляху. Крім того, ця система поєднання достатньо розумна, щоб вибрати мінімізовану версію файлу, якщо вона доступна у визначеному шляху.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.