Webpack: Muss ich die Domäne in publicPath angeben, damit die Direktive url () in CSS funktioniert?

8

Mein Problem ist, dass wenn ich die vollständige Domäne nicht in der Konfigurationsoption output.publicPath angegeben habe; dann wird die URL nicht richtig geladen (zumindest Schriften).

Meine Webpack-Konfiguration:

%Vor%

Ich habe eine weniger Datei, die besagt:

%Vor%

Mein Server befindet sich in Ссылка .

Wenn ich das generierte CSS beim Debuggen in Chrome überprüfe, sehe ich, dass es durch folgendes ersetzt wurde:

%Vor%

Was scheint richtig zu sein! Aber funktioniert nicht Chrome-Dev-Tools melden einen Fehler: "Dekodierte heruntergeladene Schriftart konnte nicht dekodiert werden: Ссылка " Dies wird angezeigt versucht, eine Schriftart, die URL zu laden, aber diese URL ist mein aktueller Standort, wo ich den HTML-Dienst. Und ich weiß nicht, warum versucht, die Schriftart von dieser URL zu holen.

Wenn ich zu Ссылка gehe. Es funktioniert.

Alles ist gelöst, wenn ich den publicPath zu " Ссылка " ändere. Aber das möchte ich vermeiden, und auf jeden Fall würde ich gerne verstehen, warum das passiert.

Ich schätze, dass seit dem Style-Loader das CSS als Blob hinzugefügt wird, dass css das Konzept der "aktuellen Domain" verliert, so dass URLs, die keine Domain enthalten, merkwürdig wirken.

Aber zur gleichen Zeit sollte dies jedem passieren, der webpack mit CSS benutzt, und ich habe keinen Kommentar dazu gesehen. : S

Danke !!!

    
mcortesi 10.06.2015, 16:37
quelle

1 Antwort

8

Es gefunden. Danke an @diunarlist auf webpack's gitter.

Das liegt daran, dass ich sourceMap mit Style-Loader benutzt habe. Schau dir Ссылка

an

Bei style loader verwendet style loader einen Blob, so dass absolute URLs benötigt werden.

Ohne source-maps wird ein Inline-Style-Tag verwendet, daher gibt es kein Problem.

    
mcortesi 10.06.2015 18:04
quelle

Tags und Links