Maison > interface Web > js tutoriel > Compression de texte, fractionnement de code et formats d'image modernes - Optimisation des performances

Compression de texte, fractionnement de code et formats d'image modernes - Optimisation des performances

Patricia Arquette
Libérer: 2024-12-13 00:10:15
original
376 Les gens l'ont consulté

Text compression & Code splitting & Modern image formats - Performance optimization

J'ai essayé ce qui suit pour optimiser les performances de mon projet parallèle :

  1. compression de texte
  2. fractionnement de code
  3. formats d'images modernes.

Profileur

L'application que j'ai créée utilisait Vite avec pnpm. Les outils de création Web modernes optimisent automatiquement les performances Web par défaut dans le processus de création. Nous pouvons donc exécuter pnpm build puis pnpm dlx servir dist. Utilisez ensuite Lighthouse of Chrome DevTools comme guide pour résoudre chaque goulot d'étranglement répertorié.

Activer la compression du texte

Cela affecte le FCP et le LCP.

La première chose que Lighthouse suggère est de compresser le texte à l'aide d'algorithmes comme br ou gzip.

La pratique courante consiste à ajouter Accept-Encoding: gzip à chaque requête Web. Étant donné que l'application que je construis sert la ressource localement, j'ai installé le vite-plugin-compress pour compresser les fichiers.

Étape 1 : installer vite-plugin-compress
Étape 2 : configurez le fichier vite.config.js, et ajoutez le plugin et quelques paramètres. Comme le suggère Google Developers, il devrait utiliser autant que possible br(brotliCompress) sur gzip.

Par exemple

viteCompression({
      verbose: true,
      disable: false,
      algorithm: 'brotliCompress',
      ext: '.br',
    }),
Copier après la connexion
Copier après la connexion

Étape 3 : exécutez pnpm run build pour compresser

Il a compressé avec succès les fichiers .js et .css.

Journaux :

✨ [vite-plugin-compression]:algorithm=brotliCompress - fichier compressé avec succès.

Vite compresserait le fichier par défaut en utilisant .gzip, mais brotliCompress peut faire mieux, compresser pendant le processus de construction :

Vite avec gzip

vite v5.4.10 bâtiment pour la production...
✓ 654 modules transformés.

index-B9QUW17e.css 8,60 Ko │ gzip : 2,33 Ko
PauseMenu-DjZ95K-6.js 1,77 Ko │ gzip : 0,62 Ko
index-ohAKp9W9.js 1 688,05 Ko │ gzip : 454,20 Ko

Vite-plugin-compression avec br

✨ [vite-plugin-compression]:algorithm=brotliCompress - fichier compressé avec succès :
PauseMenu-DjZ95K-6.js.br 1,73 ko / brotliCompress : 0,51 ko
index-B9QUW17e.css.br 8,40 Ko / brotliCompress : 1,97 Ko
index-ohAKp9W9.js.br 1648,49 Ko / brotliCompress : 345,30 Ko


Réduire le JavaScript inutilisé

Cela affecte le FCP et le LCP.

Utilisez l'onglet Couverture dans Google DevTools pour voir les scripts dont les octets inutilisés dépassent 20 Ko.

Depuis que j'utilise Vite avec React, le fractionnement du code est la première chose à faire pour réduire le JavaScript inutilisé.

Dans React, et lazy() peuvent vous aider.

  1. Utilisez pour envelopper l'ensemble de l'application et fournir une interface utilisateur de secours, comme
    Loading
    , cela fournit une interface utilisateur de secours lors du chargement de l'application.
  2. Utilisez lazy() pour envelopper les composants qui ne sont pas utilisés sur la page initiale. Par exemple, pour les jeux, lorsque les utilisateurs appuient sur la touche Échap, un menu que vous pouvez terminer apparaît.

Diffusez des images avec des formats modernes

Chrome Developers suggère de diffuser des images au format AVIF ou WebP. J'ai choisi WebP car il est mieux pris en charge dans tous les navigateurs.

Les dernières versions de Chrome, Firefox, Safari, Edge et Opera prennent en charge WebP, tandis que la prise en charge d'AVIF est plus limitée.

Vous pouvez consulter les informations de prise en charge du format d'image WebP sur Puis-je utiliser.

Vous pouvez installer la bibliothèque cwebp sur WebP et utiliser la commande cwebp -q 50 images/flower1.jpg -o images/flower1.webp pour convertir .png en .webp .

Cette commande convertit, avec une qualité de 50 (0 est le pire ; 100 est le meilleur), le fichier images/flower1.jpg et l'enregistre sous images/flower1.webp.

Le résultat de la compression est assez impressionnant. La taille de l'un des fichiers est réduite de 3,5 Mo à 178 Ko. Même ceux à faible intensité d'information donnent une compression 4x.

Nous pouvons même écrire un simple script .bat pour convertir automatiquement toutes les images .png du dossier cible en images .webp.

viteCompression({
      verbose: true,
      disable: false,
      algorithm: 'brotliCompress',
      ext: '.br',
    }),
Copier après la connexion
Copier après la connexion

Référence

  • Supprimer le JavaScript inutilisé
  • Affichez les CSS utilisés et inutilisés avec l'onglet Couverture.
  • Servez les images dans des formats modernes.
  • Création d'images WebP avec la ligne de commande
  • Utilitaires précompilés
  • Format d'image WebP - Puis-je utiliser
  • La plus grande peinture de contenu (LCP)
  • Première peinture de contenu (FCP)

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!

source:dev.to
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal