2014-09-12 10 views
6

Laden Ich habe die folgende Ordner-Struktur in meiner MVC-Website:Bündelung css funktioniert, aber Schriftarten nicht

- Inhalt - Notebook - css

- Inhalt - Notebook - Schriftarten

Der Inhalt befindet sich direkt unter der Wurzel für die Website. In meinem css-Ordner habe ich eine Datei, die einen relativen Pfad (‘../ fonts/fontawesome-webfont.woff? V = 4.0.3')

Mein Bündel derzeit sieht

url hat wie:

bundles.Add(new StyleBundle("~/bundles/Content/Notebook/css").Include(
     "~/Content/Notebook/css/animate.css", 
     "~/Content/Notebook/css/font.css", 
     "~/Content/Notebook/css/font-awesome.min.css", 
     "~/Content/Notebook/css/app.css" 
)); 

Dies ist mit

@Styles.Render("~/bundles/Content/Notebook/css") 
gemacht

dies für die CSS-Dateien funktioniert, aber die Schrift Datei wird nicht geladen, ich sehe, dass es für sie sucht hier http://localhost/MySite/bundles/Content/fonts/fontawesome-webfont.woff?v=4.0.3

ich das sah, und dann versucht, mein Bündel Name

~/Content/Notebook/css

zu

ändern

denke, dass würde den relativen Pfad zu arbeiten auch, wenn ich die "Bundles" aus dem Namen, , aber dadurch bewirkt, dass die CSS-Dateien nicht zu laden. Warum werden die CSS-Dateien nicht geladen? Wenn ich das Wort "Bundles" zurück zum Namen hatte, funktioniert es wieder. Gibt es auch eine Idee, wie man die Fonts zusammen mit dem Bundle laden kann?

+0

Sie könnten diesen Thread über Schriftarten nicht ordnungsgemäß Rendern sehen. http://stackoverflow.com/questions/32692151/fonts-are-not-rendered-correctly-in-release-mode-but-is-working-on-de-bug-mode-i?answertab=votes#tab-top – decodingpanda

Antwort

4

Wenn Sie dies tun:

url('../fonts/fontawesome-webfont.woff?v=4.0.3') 

Sie zu den Schriften über einen relativen Pfad verweisen. Wenn Sie dann Ihr CSS-Paket bei /bundles/Content/Notebook/css setzen, wird es in bundles/content/fonts suchen, da dies die Kombination Ihres relativen Pfades ist und wo der Browser Ihre CSS-Datei sieht.

Einige mögliche Optionen (entweder):

  • Ändern Sie Ihr Bündel Pfad:

    bundles.Add(new StyleBundle("~/Content/Notebook/css") ... 
    (the reason your css files didn't load when you removed bundles was that you didn't change the name of the stylebundle) 
    

    und

    @Styles.Render("~/Content/Notebook/css") 
    
  • Referenz Ihre Schriften mit einem absoluten Pfad:

    url('/Content/notebook/fonts/fontawesome-webfont.woff?v=4.0.3') 
    
+0

Ich habe die 1. Option ausprobiert, indem ich den StyleBundle-Namen in ~/Content/Notebook/css geändert habe und dasselbe für den Rendervorgang verwendet habe, aber das lädt meine CSS nicht. Es sucht dann nach allem bei http: // localhost/MySite/Inhalt/Notebook/css /?v = 3VfY7DPwOdVyXqP6Gz8G1MTxMp6VFbReLjeUU0eWRSU1 Ich dachte, das würde funktionieren, aber ich bin mir immer noch nicht sicher, warum das Entfernen des Wortbündels die Arbeit aufhob. – Paritosh

+0

Ich änderte schließlich die CSS-Datei, um die Schriftarten als URL ('../ Inhalt/Notebook/Fonts/fontawesome-webfont.woff? V = 4.0.3') zu verweisen und verließ meine Bundle-Namen allein, damit es funktionierte. Trotzdem benutze ich nicht, warum, als ich den Bundle-Namen änderte, das CSS nicht mehr funktionierte, obwohl es der gleiche Name war, den ich im Render-Aufruf verwendet habe. – Paritosh

+0

Sie könnten diesen Thread über Schriftarten sehen, die nicht richtig dargestellt werden. http://stackoverflow.com/questions/32692151/fonts-are-not-rendered-correctly-in-release-mode-but-is-working-on-de-bug-mode-i?answertab=votes#tab-top – decodingpanda

Verwandte Themen