Maison >interface Web >js tutoriel >J'ai rendu mon site Web plus rapide avec ces tours de magie frontend
Salut, amis développeurs ! ?
Un utilisateur a-t-il déjà eu à se plaindre de la lenteur de votre site Web ? Ou peut-être avez-vous vu avec horreur votre score de performance Lighthouse diminuer progressivement à chaque nouvelle fonctionnalité ? Croyez-moi, j'y suis allé. Aujourd'hui, approfondissons les techniques d'optimisation du frontend qui rendront vos sites Web ultra-rapides.
Soyons réalistes un instant. Selon Google, 53 % des utilisateurs mobiles abandonnent les sites dont le chargement prend plus de 3 secondes. C'est énorme ! De plus, depuis 2021, Google utilise Core Web Vitals comme facteur de classement. Donc, si vous voulez que votre site soit bien classé et satisfasse les utilisateurs, les performances ne sont pas facultatives : elles sont essentielles.
Les images sont souvent les atouts les plus lourds d'une page Web. Voici comment les gérer comme un pro :
<picture> <source srcset="image.webp" type="image/webp"> <source srcset="image.jpg" type="image/jpeg"> <img src="image.jpg" alt="A fallback image"> </picture>
Compressez toujours vos images ! Des outils comme Sharp, ImageOptim ou Squoosh peuvent vous aider à y parvenir sans perte de qualité notable.
<img src="image.jpg" loading="lazy" alt="Lazy loaded image">
JavaScript peut améliorer ou défaire les performances de votre site. Voici quelques stratégies éprouvées :
Au lieu d'envoyer un énorme paquet, divisez votre code en morceaux plus petits :
// Before import { heavyFeature } from './heavyFeature'; // After const heavyFeature = () => import('./heavyFeature');
Ajoutez ceci à la configuration de votre webpack :
module.exports = { performance: { maxAssetSize: 244000, // bytes maxEntrypointSize: 244000, hints: 'error' } };
Inlinez les CSS critiques et différez les styles non critiques :
<head> <!-- Critical CSS inline --> <style> /* Your critical styles here */ </style> <!-- Non-critical CSS deferred --> <link rel="preload" href="styles.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> </head>
Utilisez PurgeCSS pour supprimer les styles inutilisés :
// postcss.config.js module.exports = { plugins: [ require('@fullhuman/postcss-purgecss')({ content: ['./src/**/*.html', './src/**/*.js'] }) ] };
<link rel="preconnect" href="https://api.example.com"> <link rel="preload" href="critical-font.woff2" as="font" crossorigin>
const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { // Load your content loadContent(); } }); }); observer.observe(document.querySelector('.lazy-section'));
Ne vous contentez pas d'optimiser et d'oublier ! Configurer la surveillance :
<picture> <source srcset="image.webp" type="image/webp"> <source srcset="image.jpg" type="image/jpeg"> <img src="image.jpg" alt="A fallback image"> </picture>
N'oubliez pas que l'optimisation des performances n'est pas une tâche ponctuelle : c'est un processus continu. Commencez par les fruits les plus simples comme l'optimisation des images et les techniques de chargement appropriées, puis passez à des optimisations plus complexes si nécessaire.
Quelles techniques d'optimisation des performances ont le mieux fonctionné pour vous ? Partagez vos expériences dans les commentaires ci-dessous !
Bon codage ! ?
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!