Table des matières
Personnalisez votre budget
Une erreur apparaît lorsque le seuil est dépassé
Exclure certaines ressources
limite
Résumer
Maison interface Web tutoriel CSS Appliquer les budgets de performance avec webpack

Appliquer les budgets de performance avec webpack

Apr 02, 2025 pm 05:01 PM

Appliquer les budgets de performance avec webpack

Les applications Web modernes ne comptent plus sur un seul énorme package JavaScript. La recherche montre que les packages plus importants augmentent l'utilisation de la mémoire et la charge du processeur, en particulier sur les appareils mobiles à faible et intermédiaire. WebPack fournit plusieurs fonctionnalités pour réduire la taille des packages et contrôler les priorités de chargement des ressources, dont les plus importantes sont la segmentation du code et les conseils de performances. La segmentation du code divise le code en plusieurs packages, le chargement à la demande ou en parallèle; Les conseils de performances détectent si la taille du package dépasse le seuil spécifié lors de la construction, afin d'optimiser ou de supprimer le code inutile.

WebPack par défaut, les avertissements sont émis lorsque la taille de la ressource ou le point d'entrée dépasse 250 Ko (244KIB), mais vous pouvez configurer comment et les seuils de taille des invites de performance sont affichés via performance dans le fichier webpack.config.js . Cet article décrira comment utiliser cette fonctionnalité comme la première ligne de défense pour empêcher la dégradation des performances.

Personnalisez votre budget

Les seuils de taille de ressource et de point de saisie par défaut peuvent ne pas correspondre toujours à vos besoins, mais peuvent être configurés. Par exemple, un petit blog peut avoir un budget de 50 Ko (48,8 kib) chacune des ressources et des points d'entrée. Les paramètres pertinents dans webpack.config.js sont les suivants:

 module.exports = {
  performance: {
    MaxAssetSize: 50000,
    MaxentrypointSize: 50000,
  }
};
Copier après la connexion

maxAssetSize et maxEntrypointSize contrôlent respectivement la taille du seuil (en octets) du point de ressource et de l'entrée. maxEntrypointSize garantit que les packages créés à partir de fichiers répertoriés dans entry (généralement des fichiers JavaScript ou SASS) ne dépassent pas le seuil spécifié; maxAssetSize applique les mêmes restrictions sur les autres ressources générées par WebPack (telles que les images, les polices, etc.).

Une erreur apparaît lorsque le seuil est dépassé

WebPack émet un avertissement lorsque le seuil budgétaire est dépassé par défaut. Cela suffit pour l'environnement de développement, mais pas pour l'environnement de production. Vous pouvez déclencher une erreur en ajoutant hints à l'objet performance et en le définissant à 'error' :

 module.exports = {
  performance: {
    MaxAssetSize: 50000,
    MaxentrypointSize: 50000,
    Astuces: «erreur»,
  }
};
Copier après la connexion

D'autres valeurs valides pour hints sont 'warning' et false . false désactivera complètement l'avertissement, même si la limite spécifiée est dépassée. Il n'est pas recommandé d'utiliser false en mode de production.

Exclure certaines ressources

WebPack applique un seuil de taille pour chaque type de ressource qu'il génère. Si une ressource dépasse la limite spécifiée, une erreur sera lancée. Par exemple, si WebPack est configuré pour traiter les images, une erreur se produira tant que l'une des images dépasse le seuil.

assetFilter peut être utilisée pour contrôler les fichiers utilisés pour calculer les invites de performances:

 module.exports = {
  performance: {
    MaxAssetSize: 50000,
    MaxentrypointSize: 50000,
    Astuces: «erreur»,
    AssetFilter: fonction (AssetFileName) {
      return! AssetFileName.endswith ('. JPG');
    },
  }
};
Copier après la connexion

Cela indique à WebPack d'exclure tous les fichiers se terminant par .jpg lors de l'exécution des calculs d'invite de performances. Il peut utiliser une logique plus complexe pour répondre aux conditions de divers environnements, types de fichiers et autres ressources.

limite

Une limitation actuelle est que le même seuil budgétaire s'applique à toutes les ressources et points d'entrée. En d'autres termes, plusieurs budgets ne sont pas encore définis au besoin, comme la définition de différentes restrictions pour JavaScript, CSS et les fichiers image. Cependant, il existe déjà des demandes de traction ouvertes qui devraient supprimer cette restriction.

Résumer

Il est utile de configurer et d'appliquer les budgets de performance au début du projet. Cela vous rappellera de faire attention à la taille de vos dépendances et de vous encourager à trouver des alternatives plus légères pour éviter un budget.

Mais le budget de performance ne s'arrête pas là! La taille des ressources n'est que l'un des nombreux facteurs qui affectent les performances, donc plus de travail est encore nécessaire pour garantir que la meilleure expérience est fournie. La gestion des tests de phare est un excellent moyen de comprendre d'autres mesures et suggestions d'amélioration.

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 !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Sujets chauds

Tutoriel Java
1666
14
Tutoriel PHP
1273
29
Tutoriel C#
1252
24
Une comparaison des fournisseurs de formulaires statiques Une comparaison des fournisseurs de formulaires statiques Apr 16, 2025 am 11:20 AM

Essayons de savoir un terme ici: "fournisseur de formulaire statique". Vous apportez votre HTML

Une preuve de concept pour rendre Sass plus rapidement Une preuve de concept pour rendre Sass plus rapidement Apr 16, 2025 am 10:38 AM

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

Actualités hebdomadaires de la plate-forme: attribut HTML Loading, les principales spécifications Aria et le passage de iframe à Shadow Dom Actualités hebdomadaires de la plate-forme: attribut HTML Loading, les principales spécifications Aria et le passage de iframe à Shadow Dom Apr 17, 2025 am 10:55 AM

Dans cette semaine, le Roundup des nouvelles de la plate-forme, Chrome présente un nouvel attribut pour le chargement, les spécifications d'accessibilité pour les développeurs Web et la BBC Moves

L'accord avec l'élément de section L'accord avec l'élément de section Apr 12, 2025 am 11:39 AM

Deux articles ont publié exactement le même jour:

Comment nous avons tagué Google Fonts et créé des goofont.com Comment nous avons tagué Google Fonts et créé des goofont.com Apr 12, 2025 pm 12:02 PM

Goofonts est un projet parallèle signé par un développeur-femme et un concepteur-mari, tous deux de grands fans de typographie. Nous avons marqué Google

Certains pratiques avec l'élément de dialogue HTML Certains pratiques avec l'élément de dialogue HTML Apr 16, 2025 am 11:33 AM

C'est moi qui regarde l'élément HTML pour la première fois. J'en ai été conscient depuis un certain temps, mais il ne l'a pas encore pris pour un tour. Il a un peu cool et

Multipliers multiples: cas général Multipliers multiples: cas général Apr 12, 2025 am 10:52 AM

La première partie de cette série en deux parties a expliqué comment nous pouvons obtenir un curseur à deux pouces. Maintenant, nous examinerons un cas multi-tronçon général, mais avec un autre et

Où devrait «abonner au podcast» vers le lien? Où devrait «abonner au podcast» vers le lien? Apr 16, 2025 pm 12:04 PM

Pendant un certain temps, iTunes était le grand chien du podcasting, donc si vous avez lié "Abonnez-vous au podcast" pour aimer:

See all articles