MVC4 Paketi'nde {version} joker karakteri


155

MVC 4'te paketlerimiz var. Paketleri tanımlarken, bir klasördeki tüm dosyalar için * gibi joker karakterler kullanabiliriz.

Aşağıdaki örnekte ne anlama -{version}geliyor?

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

Yanıtlar:


177

-{version}Temelde bir versiyon eşleştiren regex veya kesin olmak: (\d+(?:\.\d+){1,3}).
Kullanmak *, örneğin paketliyorsanız jquery*, jquery-uisiparişi bozabilecek de dahil olmak üzere çok fazla kapma eğilimindedir . Ancak, kullanmak jquery-{version}.js, jquery'yi her yükselttiğinizde paket tanımınızı güncellemekten kaçınmanıza izin verir.

Dikkat edilmesi gereken ek noktalar:

  • {version} sadece dizinin son kısmı için çalışır - temelde dosya adı - bir dizin için değil.
  • aynı klasördeki jquery'nin birden fazla sürümü yakalanır.

2
Klasörde bulunan ex: jquery'nin birden çok sürümü ile bu nasıl çalışır?
pavsaund

18
Bu bir regex, bu yüzden tüm eşleşmeleri içerecektir, bu yüzden aynı dizinde birden fazla sürümünüz varsa muhtemelen bunu kullanmak istemezsiniz.
Hao Kung

3
{Version} yolunda çalışmıyor gibi görünüyor. İş yerinde, biz yolda bootstrap sürümü (dosya adı değil) var, bu yüzden bunu yapmaya çalışıyorum: "~ / Content / Libraries / bootstrap / {version} /css/bootstrap.css" Ama ben çalıştırdığımda RegisterBundles, "Dizin yok" yazan bir ArgumentException alıyorum.
Michael Nelson

4
bir dizinde çalışmadığınız için oy verin. Bir dizinde çalışmasını sağlamak için herhangi bir çözüm var mı?
Zapnologica

3
Düzenleme: nevermind, açıkça burada açıklıyorlar! asp.net/mvc/overview/performance/bundling-and-minification Teşekkür ederiz!
Jon Koeter

12

Bu paket, komut dosyası adlarında sürüm numaralarını barındırabilir. Bu nedenle, jQuery'nin uygulamanızdaki yeni bir sürüme güncellenmesi (NuGet aracılığıyla veya el ile) herhangi bir kod / işaretleme değişikliği gerektirmez.

Paketleme hakkında daha fazla bilgi için aşağıdaki bağlantıya bakın: http://weblogs.asp.net/jgalloway/archive/2012/08/16/asp-net-4-5-asp-net-mvc-4-asp-net- web sayfaları-2-ve-işitsel-stüdyo-2012-web geliştiricisi-features.aspx


3
Eski sürümlerin gerçekten kaldırıldığından emin olduğunuz sürece.
Triynko

{Version} kullanırken Jquery tanımsız olarak alıyorum ve gerçek sürüm ile değiştirdiğimde, 3.1.1 benim durumumda çalışıyor.
Marc Roussel

0

~/Scripts/jquery-{version}.jsbuna dahildir. Burada gruplama sistemi, yolda {version} seçicisini belirttiğimizde jquery dosyasının en yüksek sürümüne referans verecek kadar akıllıdır. Ayrıca, bu demetleme sistemi, tanımlanan yolda varsa, dosyanın küçültülmüş sürümünü alacak kadar akıllıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.