recherche
Maisoninterface Webtutoriel CSSAppliquer les budgets de performance avec webpack

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,
  }
};

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»,
  }
};

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');
    },
  }
};

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
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
Mise à jour 'CSS4'Mise à jour 'CSS4'Apr 11, 2025 pm 12:05 PM

Depuis que j'ai sonné pour la première fois sur le truc CSS4¹, il y a eu des tonnes de discussions plus à ce sujet. Je vais rassembler mes pensées préférées des autres ici. Il y a

Les trois types de codeLes trois types de codeApr 11, 2025 pm 12:02 PM

Chaque fois que je commence un nouveau projet, j'organise le code que je regarde en trois types ou catégories si vous le souhaitez. Et je pense que ces types peuvent être appliqués à

HTTPS est facile!HTTPS est facile!Apr 11, 2025 am 11:51 AM

J'ai été coupable de déplorer publiquement la complexité des HTTP. Dans le passé, j'ai acheté des certificats SSL à des fournisseurs tiers et j'ai eu des problèmes

Guide des attributs de données HTMLGuide des attributs de données HTMLApr 11, 2025 am 11:50 AM

Tout ce que vous avez toujours voulu savoir sur les attributs de données dans HTML, CSS et JavaScript.

Comprendre l'immuabilité en JavaScriptComprendre l'immuabilité en JavaScriptApr 11, 2025 am 11:47 AM

Si vous n'avez pas travaillé avec l'immuabilité en JavaScript auparavant, vous pourriez trouver facile de le confondre avec l'attribution d'une variable à une nouvelle valeur ou une réaffectation.

Entrées de formulaire de style personnalisé avec des fonctionnalités CSS modernesEntrées de formulaire de style personnalisé avec des fonctionnalités CSS modernesApr 11, 2025 am 11:45 AM

Il est tout à fait possible de créer des cases à cocher personnalisées, des boutons radio et des interrupteurs à bascule ces jours-ci, tout en restant sémantique et accessible. Nous n'avons même pas besoin d'un

Personnages de note de bas de pagePersonnages de note de bas de pageApr 11, 2025 am 11:34 AM

Il existe des caractères de numéro de sur-ensemble spéciaux qui sont parfois parfaits pour les notes de bas de page. Les voici:

Comment créer un compte à rebours animé avec HTML, CSS et JavaScriptComment créer un compte à rebours animé avec HTML, CSS et JavaScriptApr 11, 2025 am 11:29 AM

Avez-vous déjà eu besoin d'un compte à rebours sur un projet? Pour quelque chose comme ça, il pourrait être naturel d'atteindre un plugin, mais c'est en fait beaucoup plus

See all articles

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser