StyleBundle çözümleme MVC4 görüntüleri
Benim sorum şuna benzer:
Bunun dışında yapabileceğim bir şey varsa Eğer MVC kendi donatılacak ile sopa istiyorum. Beyin bir çarpışma doğru desen jQuery UI gibi tek başına css ve görüntü kümeleri gibi bu tarz demetleri belirtmek için ne olduğunu anlamaya çalışarak geçiriyorum.
styles.css
gibi temel CSS içeren /Content/css/
tipik MVC site BİR YAPISI VAR. Css klasörünün içinde ben de CSS dosyasını içeren /jquery-ui
gibi ALT Artı /images
bir klasör var. JQuery UI CSS resim yolları klasörüne göre ve onlarla uğraşmak istemiyorum.
Anlıyorum o zaman ben belirt StyleBundle
ihtiyacım belirtmek için bir sanal yol değil de maç gerçek bir içerik yolu (çünkü sanıyorum görmezden gelerek yollarına İçerik) IIS o zaman denemek çözüm yolu olarak fiziksel bir dosya. Belirtme ediyorum:
bundles.Add(new StyleBundle("~/Content/styles/jquery-ui")
.Include("~/Content/css/jquery-ui/*.css"));
kullanılarak işlenmiş:
@Styles.Render("~/Content/styles/jquery-ui")
İstek için dışarı görebiliyorum:
http://localhost/MySite/Content/styles/jquery-ui?v=nL_6HPFtzoqrts9nwrtjq0VQFYnhMjY5EopXsK8cxmg1
Bu doğru, minified CSS yanıt veriyor. Ama sonra tarayıcı olarak nispeten daha bağlı bir görüntü için bir istek gönderir:
http://localhost/MySite/Content/styles/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
404
.
Benim URL son bölümü jquery-ui
extensionless URL, benim bohça için bir işleyici olduğunu anlıyorum, görüntü için göreli isteği sadece /styles/images/
neden görebiliyorum.
Benim sorum ise şudoğru yolu nedirişleme bu durum?
CEVAP
Çok kazma sonra, http://forums.asp.net/t/1774324.aspx/1 rastladım.
Size paket olarak tanımlarsanız:
bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle")
.Include("~/Content/css/jquery-ui/*.css"));
Kaynak paket oluşturan dosyalar olarak aynı yol üzerinde paket define nerede, akraba resim yollarını çalışmaya devam eder. Paket yolu son bölümünü gerçekten bu özel paket için file name
(yani, /bundle
istediğiniz herhangi bir isim olabilir).
Bu hep beraber aynı klasör donatılacak bir bakış açısıyla mantıklı bence) CSS donatılacak vardır.
Güncelleme
@Hao Kung tarafından aşağıdaki açıklama başı olarak, alternatif olarak bu şimdiCssRewriteUrlTransformation
bir(Change relative URL references to CSS files when bundled)uygulayarak elde edilebilir.
NOT: yorum sorunları ile ilgili bir sanal dizin içinde mutlak yolları yeniden teyit değil, bu herkes için değildir (?).
bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle")
.Include("~/Content/css/jquery-ui/*.css", new CssRewriteUrlTransform()));
MVC4 HTTP Hatası 403.14 - Forbidden...
Devre dışı bırakma görüntüleri jquery ...
Nasıl HTML base64 görüntüleri gösterme...
Android: bir Düğme üzerinde metin ve g...
kaplama iki bir imageview ayarlamak iç...