2016-12-06 3 views
0

Mein Setup ist ein einfaches Webpack (v1.) Mit React, jQuery und Bootstrap (alles funktioniert gut). Ich habe versucht, font-awesome via npm i font-awesome -S hinzuzufügen. Ich nehme an, die beste Lösung wäre, es automatisch zu laden. Ich bekomme nur eine Konsole Fehler im Browser die folgende für jede Schriftart-Datei zu sagen:Lade Font-Awesome mit Webpack (OTS Parsing Fehler: ungültiges Versionstag)

Failed to decode downloaded font: http://localhost:3000/static/fontawesome-webfont.ttf?v=4.7.0 
OTS parsing error: invalid version tag 

Das ist mein Setup ist:

webpack.config

... 
output: { 
    path: path.join(__dirname, 'dist'), 
    filename: 'bundle.js', 
    publicPath: 'http://localhost:3000/static/' 
}, 
module: { 
    loaders: [ 
    .... 
    { 
     test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: "url-loader?limit=10000&mimetype=application/font-woff" 
    }, 
    { 
     test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: "file-loader" 
    } 
    ] 
}, 
... 

app.scss

$fa-font-path: 'http://localhost:3000/static'; 
@import '../../node_modules/font-awesome/scss/font-awesome.scss'; 

... und dann importiere ich die scss-Datei in die App.js-Hauptdatei.

Wie Sie sehen können, verwende ich file-loader und url-loader für die Schriftarten.

Es wäre nett, eine Liste aller Dateien zu sehen, die in der static -url geliefert werden, gibt es eine Möglichkeit, diese Informationen in der Konsole auszugeben? Es ist schwer zu sehen, wo das Problem ist. Wenn die Schriften nicht oder nur mit der falschen URL geladen sind.

Antwort

0

Ich hatte vor kurzem mit einem sehr ähnlichen Problem zu kämpfen: font-awesome (die npm-Paketversion) in meiner Meteor App. Es stellte sich heraus, dass die Font-Dateien überhaupt nicht geladen/bedient wurden.

Beantworten Sie den zweiten Teil Ihrer Frage: Die Font-Dateien sollten im Tab "Quellen" (in den Chrome-Entwicklertools) sichtbar sein, wenn sie korrekt geladen sind.

Der erste Teil ist kniffliger, und ich habe keine Lösung, nur einen Hinweis: Da Ihre Schriftart-Dateien nicht geladen scheinen, würde ich schlussfolgern, dass Webpack die Schriftart-Dateien nicht "sieht". Entweder "node_modules" wird irgendwo in Ihrer Konfiguration ausgeschlossen, oder das font-awesome npm-Paket exportiert die Font-Dateien nicht korrekt. Oder etwas dazwischen.

Mein Problem war ähnlich: Der statische Inhalt aus dem Ordner "node_modules" wird von Meteor's internem Bundler nicht bestätigt. Meine Problemumgehung bestand also darin, ein npm "postinstall" -Skript in package.js zu erstellen, das die Schriftartendateien an einen geeigneten Ort kopiert: "PATH_OF_MY_APP/public/fonts" in meinem Fall, damit der Bündler sie aufnehmen kann.

1

Nachdem ich viele andere Ansätze ausprobiert und viele meiner Meteor- und NPM-Konfigurationen neu installiert und überprüft habe, behebt ich das Problem, indem ich die Browserdaten von Chrome lösche (zwischengespeicherte Bilder und Dateien) und dann die Seite aktualisiere. Also einen Versuch wert, wenn Sie das gleiche Problem haben und nicht scheinen, es zu lösen

Verwandte Themen