Maison interface Web js tutoriel Exemple détaillé de la façon dont Webpack charge réellement SVG

Exemple détaillé de la façon dont Webpack charge réellement SVG

Dec 27, 2017 pm 01:15 PM
web webpack 加载

Cet article présente principalement la méthode réelle de chargement de SVG avec Webpack. L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un œil. J'espère que cela pourra aider tout le monde.

SVG, en tant que format standard pour les graphiques vectoriels, est pris en charge par les principaux navigateurs et est également devenu synonyme de graphiques vectoriels sur le Web. L'utilisation de SVG au lieu de bitmaps dans les pages Web présente les avantages suivants :

  1. SVG est plus clair que les bitmaps et ne détruira pas la clarté des graphiques sous une mise à l'échelle arbitraire. SVG peut faciliter la résolution efficace du problème. d'affichage d'images peu claires sur les écrans haute résolution.

  2. Lorsque les lignes graphiques sont relativement simples, la taille du fichier SVG est plus petite que le bitmap Aujourd'hui, lorsque l'interface utilisateur plate est populaire, SVG sera plus petit dans la plupart des cas.

  3. SVG avec les mêmes graphiques a de meilleures performances de rendu que les graphiques haute définition correspondants.

  4. SVG utilise une description de syntaxe XML cohérente avec HTML, qui est très flexible.

L'outil de dessin peut exporter les fichiers .svg un par un. La méthode d'importation du SVG est similaire à celle des images. Elle peut être utilisée directement en CSS comme suit :


body {
 background-image: url(./svgs/activity.svg);
}
Copier après la connexion

peut également être utilisé en HTML :


<img src="./svgs/activity.svg"/>
Copier après la connexion

C'est-à-dire que vous pouvez directement utilisez le fichier SVG comme image. L'utilisation est exactement la même que pour l'utilisation d'images. Par conséquent, les deux méthodes présentées dans 3-19 Chargement d'images à l'aide du chargeur de fichiers et de l'utilisation du chargeur d'url sont également efficaces pour SVG. Il vous suffit de changer le suffixe du fichier dans la configuration de test du chargeur en .svg.


module.exports = {
 module: {
  rules: [
   {
    test: /\.svg/,
    use: [&#39;file-loader&#39;]
   }
  ]
 },
};
Copier après la connexion

Puisque SVG est un fichier au format texte, il existe d'autres méthodes en plus des deux méthodes ci-dessus, qui sont expliquées ci-dessous.

Utiliser raw-loader

raw-loader peut lire le contenu du fichier texte et l'injecter dans JavaScript ou CSS.

Par exemple, écrivez ceci en JavaScript :


import svgContent from &#39;./svgs/alert.svg&#39;;
Copier après la connexion

Le code de sortie après le traitement du chargeur brut est le suivant :

module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\"... </svg>" // 末尾省略 SVG 内容
Copier après la connexion


C'est-à-dire que le contenu de svgContent est égal à SVG sous forme de chaîne. Puisque SVG lui-même est un élément HTML, après avoir obtenu le contenu SVG, vous pouvez directement insérer le SVG dans. la page Web via le code suivant :


window.document.getElementById(&#39;app&#39;).innerHTML = svgContent;
Copier après la connexion

La configuration Webpack pertinente lors de l'utilisation de raw-loader est la suivante :


module.exports = {
 module: {
  rules: [
   {
    test: /\.svg$/,
    use: [&#39;raw-loader&#39;]
   }
  ]
 }
};
Copier après la connexion

En raison de raw- Le chargeur renverra directement le contenu texte de SVG et ne pourra pas afficher le contenu texte de SVG via CSS. Par conséquent, SVG ne peut pas être importé dans CSS après avoir utilisé cette méthode. C'est-à-dire qu'un code tel que background-image: url(./svgs/activity.svg) ne peut pas apparaître en CSS, car background-image: url(...) est illégal. .

Cet exemple fournit le code complet du projet

Utilisation de svg-inline-loader

svg-inline-loader et le raw-loader mentionné ci-dessus sont très similaires, mais la différence est que svg-inline-loader analysera le contenu de SVG et supprimera le code inutile pour réduire la taille du fichier SVG.

Après avoir utilisé des outils de dessin tels qu'Adobe Illustrator et Sketch pour créer du SVG, ces outils généreront du code inutile pour que la page Web s'exécute lors de l'exportation. Par exemple, voici le code du SVG exporté par Sketch :


<svg class="icon" verison="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
   stroke="#000">
 <circle cx="12" cy="12" r="10"/>
</svg>
Copier après la connexion

sera rationalisé comme suit après avoir été traité par svg-inline-loader :


<svg viewBox="0 0 24 24" stroke="#000"><circle cx="12" cy="12" r="10"/></svg>
Copier après la connexion

C'est-à-dire que svg-inline-loader ajoute une fonction de compression au SVG.

La configuration Webpack pertinente lors de l'utilisation de svg-inline-loader est la suivante :


module.exports = {
 module: {
  rules: [
   {
    test: /\.svg$/,
    use: [&#39;svg-inline-loader&#39;]
   }
  ]
 }
};
Copier après la connexion

Cet exemple fournit le code complet du projet

Connexe Recommandé :

Explication détaillée de la configuration de l'optimisation de Webpack et de la portée de recherche de fichiers restreinte avec des exemples

Explication détaillée des concepts de base de Framework Webpack

Explication détaillée des exemples de développement de sites multipages webpack+express

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Erreur de chargement du plugin dans Illustrator [Corrigé] Erreur de chargement du plugin dans Illustrator [Corrigé] Feb 19, 2024 pm 12:00 PM

Lors du lancement d'Adobe Illustrator, un message d'erreur de chargement du plug-in apparaît-il ? Certains utilisateurs d'Illustrator ont rencontré cette erreur lors de l'ouverture de l'application. Le message est suivi d'une liste de plugins problématiques. Ce message d'erreur indique qu'il y a un problème avec le plug-in installé, mais il peut également être provoqué par d'autres raisons telles qu'un fichier DLL Visual C++ endommagé ou un fichier de préférences endommagé. Si vous rencontrez cette erreur, nous vous guiderons dans cet article pour résoudre le problème, alors continuez à lire ci-dessous. Erreur de chargement du plug-in dans Illustrator Si vous recevez un message d'erreur « Erreur de chargement du plug-in » lorsque vous essayez de lancer Adobe Illustrator, vous pouvez utiliser les éléments suivants : En tant qu'administrateur

Les sous-titres Stremio ne fonctionnent pas ; erreur lors du chargement des sous-titres Les sous-titres Stremio ne fonctionnent pas ; erreur lors du chargement des sous-titres Feb 24, 2024 am 09:50 AM

Les sous-titres ne fonctionnent pas sur Stremio sur votre PC Windows ? Certains utilisateurs de Stremio ont signalé que les sous-titres n'étaient pas affichés dans les vidéos. De nombreux utilisateurs ont signalé avoir rencontré un message d'erreur indiquant « Erreur de chargement des sous-titres ». Voici le message d'erreur complet qui apparaît avec cette erreur : Une erreur s'est produite lors du chargement des sous-titres. Échec du chargement des sous-titres : Cela pourrait être un problème avec le plugin que vous utilisez ou avec votre réseau. Comme l’indique le message d’erreur, il se peut que ce soit votre connexion Internet qui soit à l’origine de l’erreur. Veuillez donc vérifier votre connexion réseau et vous assurer que votre Internet fonctionne correctement. En dehors de cela, il peut y avoir d'autres raisons derrière cette erreur, notamment un module complémentaire de sous-titres conflictuels, des sous-titres non pris en charge pour un contenu vidéo spécifique et une application Stremio obsolète. comme

PHP implémente le chargement par défilement infini PHP implémente le chargement par défilement infini Jun 22, 2023 am 08:30 AM

Avec le développement d'Internet, de plus en plus de pages Web doivent prendre en charge le chargement par défilement, et le chargement par défilement infini en fait partie. Il permet à la page de charger continuellement du nouveau contenu, permettant ainsi aux utilisateurs de naviguer sur le Web plus facilement. Dans cet article, nous présenterons comment implémenter le chargement par défilement infini à l'aide de PHP. 1. Qu'est-ce que le chargement par défilement infini ? Le chargement par défilement infini est une méthode de chargement de contenu Web basée sur des barres de défilement. Son principe est que lorsque l'utilisateur fait défiler vers le bas de la page, les données d'arrière-plan sont récupérées de manière asynchrone via AJAX pour charger en continu du nouveau contenu. Ce type de méthode de chargement

Outlook se bloque lors de l'insertion d'un lien hypertexte Outlook se bloque lors de l'insertion d'un lien hypertexte Feb 19, 2024 pm 03:00 PM

Si vous rencontrez des problèmes de blocage lors de l'insertion de liens hypertexte dans Outlook, cela peut être dû à des connexions réseau instables, à d'anciennes versions d'Outlook, à des interférences provenant d'un logiciel antivirus ou à des conflits de compléments. Ces facteurs peuvent empêcher Outlook de gérer correctement les opérations de liens hypertexte. Corriger le blocage d'Outlook lors de l'insertion d'hyperliens Utilisez les correctifs suivants pour corriger le blocage d'Outlook lors de l'insertion d'hyperliens : Vérifiez les compléments installés Mettre à jour Outlook Désactivez temporairement votre logiciel antivirus, puis essayez de créer un nouveau profil utilisateur Réparer le programme des applications Office Désinstaller et réinstaller Office Commençons. 1] Vérifiez les compléments installés. Il se peut qu'un complément installé dans Outlook soit à l'origine du problème.

Comment résoudre le problème que les CSS ne peuvent pas être chargés Comment résoudre le problème que les CSS ne peuvent pas être chargés Oct 20, 2023 am 11:29 AM

Les solutions au problème selon lequel CSS ne peut pas être chargé incluent la vérification du chemin du fichier, la vérification du contenu du fichier, la suppression du cache du navigateur, la vérification des paramètres du serveur, l'utilisation des outils de développement et la vérification de la connexion réseau. Introduction détaillée : 1. Vérifiez le chemin du fichier. Tout d'abord, assurez-vous que le chemin du fichier CSS est correct. Si le fichier CSS se trouve dans une autre partie ou sous-répertoire du site Web, vous devez fournir le chemin correct. Le fichier CSS se trouve dans le répertoire racine, le chemin doit être direct. ; 2. Vérifiez le contenu du fichier, le problème peut résider dans le fichier CSS lui-même.

Comment implémenter la validation de formulaire pour les applications Web à l'aide de Golang Comment implémenter la validation de formulaire pour les applications Web à l'aide de Golang Jun 24, 2023 am 09:08 AM

La validation du formulaire est un maillon très important dans le développement d'applications Web. Elle permet de vérifier la validité des données avant de soumettre les données du formulaire afin d'éviter les failles de sécurité et les erreurs de données dans l'application. La validation de formulaire pour les applications Web peut être facilement implémentée à l'aide de Golang. Cet article explique comment utiliser Golang pour implémenter la validation de formulaire pour les applications Web. 1. Éléments de base de la validation de formulaire Avant de présenter comment implémenter la validation de formulaire, nous devons savoir quels sont les éléments de base de la validation de formulaire. Éléments de formulaire : les éléments de formulaire sont

Utilisation de Jetty7 pour le traitement du serveur Web dans le développement d'API Java Utilisation de Jetty7 pour le traitement du serveur Web dans le développement d'API Java Jun 18, 2023 am 10:42 AM

Utilisation de Jetty7 pour le traitement du serveur Web dans le développement JavaAPI Avec le développement d'Internet, le serveur Web est devenu l'élément central du développement d'applications et est également au centre de l'attention de nombreuses entreprises. Afin de répondre aux besoins croissants des entreprises, de nombreux développeurs choisissent d'utiliser Jetty pour le développement de serveurs Web, et sa flexibilité et son évolutivité sont largement reconnues. Cet article explique comment utiliser Jetty7 dans le développement JavaAPI pour We

Que sont les standards du Web ? Que sont les standards du Web ? Oct 18, 2023 pm 05:24 PM

Les normes Web sont un ensemble de spécifications et de directives développées par le W3C et d'autres organisations associées. Elles incluent la normalisation du HTML, CSS, JavaScript, DOM, l'accessibilité du Web et l'optimisation des performances. En suivant ces normes, la compatibilité des pages peut être améliorée. , maintenabilité et performances. L'objectif des normes Web est de permettre au contenu Web d'être affiché et d'interagir de manière cohérente sur différentes plates-formes, navigateurs et appareils, offrant ainsi une meilleure expérience utilisateur et une meilleure efficacité de développement.

See all articles