J'utilise une police d'icônes personnalisée, créée avec fontello. Lorsque j'essaie de l'utiliser dans webpack, j'obtiens l'erreur suivante :
ERROR in ./src/assets/fonts/fontello/fontello.ttf?86736756
Module parse failed:
/Users/idamediafoundry/Documents/Work/Projects/ida-ida-default-
frontend-setup/ida-ida-default-frontend-setup-
static/src/assets/fonts/fontello/fontello.ttf?86736756 Unexpected
character '' (1:0)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected character '' (1:0)
Et il le fait pour woff(2), ttf, svg... tous. J'ai utilisé plusieurs solutions trouvées sur SOF, mais aucune d'entre elles ne semble fonctionner.
Voici mon webpack.config.js:
module: {
loaders: [
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/},
{ test: /\.css$/, loader: "style!css!" },
{ test: /\.scss$/, loader: "style!css!sass!" },
{ test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff'},
{ test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream'},
{ test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file'},
{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml'},
]
}
Quelqu'un a-t-il des idées sur celui-ci ?
Merci!
Cordialement
Mario
2 réponses
Astuce : n'utilisez pas de formats de polices qui n'existent plus, donc pas de polices eot
ou svg
, et puisque WOFF est littéralement un wrapper octet par octet autour de ttf/otf, pas de ttf/otf si vous avez déjà WOFF. Cela résout un problème : la complexité.
Maintenant, avec ce format de police unique : ne regroupez pas cela. Ne regroupez pas les actifs statiques dans un ensemble javascript, laissez le navigateur les charger, avec une mise en cache appropriée, une prévention de chargement 304, etc. Les regrouper signifie que vous gaspillez des tonnes de bande passante chaque fois que quelqu'un charge votre forfait pour des données qui n'ont jamais changé. Avez-vous modifié du code, mais vos ressources statiques sont restées les mêmes ? Bonne nouvelle, votre pack va maintenant être retéléchargé dans son intégralité. Cela fait perdre du temps à vos utilisateurs, votre bande passante et potentiellement vos dollars bien réels en raison des coûts d'hébergement.
Gardez vos ressources statiques hors de votre bundle, faites de la police une règle CSS @font-face normale. Tout ira bien, il se chargera bien, il se mettra en cache et les chargements suivants seront beaucoup plus rapides et n'auront pas besoin d'accéder à votre serveur pour retransférer le fichier de police.
Eh bien, j'avais également le même problème l'autre jour et j'ai trouvé une solution dans la liste des problèmes de moins de chargement, cela était dû à la fin "? 234234234" dans l'URL de la police,
Essayez ceci dans la configuration du chargeur Webpack :
test: /\.(woff|woff2|eot|ttf|svg)(\?.*$|$)/
J'espère que si vous (ou quelqu'un) rencontrez toujours les problèmes, cela pourrait vous aider. fil original de la solution dans git
Questions connexes
De nouvelles questions
fonts
Une police est un fichier de données électronique contenant un ensemble de glyphes, de caractères ou de symboles tels que les dingbats. Bien que le terme police fasse référence pour la première fois à un ensemble de types de types de métaux dans un style et une taille, depuis les années 1990, la plupart des polices sont numériques, utilisées sur les ordinateurs.