recherche
Maisoninterface Webtutoriel CSSRendre Jamstack lent? Défi accepté.

Rendre Jamstack lent? Défi accepté.

"Jamstack est Slowwwww." Vous entendez rarement cela, surtout compte tenu de la réputation de Jamstack pour la vitesse. Cependant, même les sites Jamstack peuvent subir des problèmes de performance. Ne présumez pas que Jamstack équivaut automatiquement à des performances fascinantes sur le flamboyant; Les choix intelligents sont cruciaux. Explorons comment les mauvaises décisions peuvent paralyser la vitesse d'un site Jamstack.

Nous allons intentionnellement construire un site de Gatsby lent pour comprendre les goulots d'étranglement des performances. En utilisant des tests de performances continus et Google Lighthouse, nous suivrons chaque changement, en commençant par un score de phare parfait de 100 et en le dégradant délibérément à un 17.

Construire notre site lent Jamstack

Nous utiliserons Gatsby. Tout d'abord, installez la CLI de Gatsby:

 NPM Install -g Gatsby-Cli

Créez un nouveau site Gatsby:

 Gatsby New Slow-Jamstack

Accédez au répertoire du projet et démarrez le serveur de développement:

 CD-Jamstack
Gatsby développe

Pour les tests de phare, nous avons besoin d'une construction de production. Vercel fournit une solution d'hébergement pratique. Installez et connectez-vous à la CLI Vercel:

 NPM Install -g Vercel-CLI
vercel

Cela déploie le site de Vercel. Un site GATSBY par défaut est généralement rapide, marquant 100 sur le phare. Voyons comment nous pouvons saboter cela.

Ralentir avec CSS

Les cadres CSS sont puissants, mais choisir le mauvais ou l'utiliser de manière inefficace peut nuire aux performances. Optez pour des cadres modulaires ou CSS-in-JS pour charger uniquement les styles nécessaires.

Nous ferons un mauvais choix: charger l'intégralité du cadre Semanticui, y compris jQuery (une dépendance), directement dans le de notre HTML. Cela nécessite de copier le fichier <code>html.js par défaut:

 cp .cache / default-html.js src / html.js

Ensuite, ajoutez la feuille de style Semanticui et JQuery à src/html.js :

<link href="https://cdn.jsdelivr.net/npm/%5Bemail%C2%A0protected%5D/dist/semantic.css" rel="stylesheet">

Déployez les modifications:

 Vercel - Prod

Le score du phare chute à 66, une diminution significative du chargement du CSS inutile. Le temps d'interactif (TTI) augmente considérablement.

Ralentir avec les dépendances marketing

Ajoutons Google Analytics et Facebook Tracking Scripts à src/html.js dans le :

 

<img  src="/static/imghwm/default1.png" data-src="https://img.php.cn/?x-oss-process=image/resize,p_40" class="lazy"    style="max-width:90%"  style="max-width:90%" alt="Rendre Jamstack lent? Défi accepté." >

Déployer à nouveau:

 Vercel - Prod

Le score tombe à 51. Ces scripts apparemment petits ont un impact sur les performances substantiel.

Ralentir avec des images

Nous ajouterons 100 images de https://placeimg.com à index.js , en les chargeant directement sans optimisation:

 const indexPage = () => {
  const itements = array.from ({longueur: 100}, (_, i) => (
    <img key="{i}" src="%7B%60https://placeimg.com/200/200/%24%7Bi%7D%60%7D" alt="Rendre Jamstack lent? Défi accepté.">
  ));

  retour (
    <layout>
      {articles}
    </layout>
  ));
};

Le déploiement se traduit par un site radicalement lent, avec un score de phare de 17 et un TTI de 16,5 secondes.

Le point? Chaque décision affecte les performances. Même sur Jamstack, les performances ne sont pas gratuites.

Speed ​​de restauration

L'avantage de performance principal de Jamstack est la mise en cache Edge des fichiers statiques, réduisant le temps vers le premier octet (TTFB). C'est plus rapide que le rendu côté serveur. Cependant, les optimisations côté client restent essentielles. Bien que les scores élevés du phare soient souhaitables, n'oubliez pas qu'ils ne reflètent pas toujours parfaitement l'expérience utilisateur. Cet exercice démontre que même avec Jamstack, une attention diligente aux performances est nécessaire.

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
Le cas des noms de domaine volésLe cas des noms de domaine volésApr 11, 2025 am 10:12 AM

En 2011, le nom de domaine de ce site, CSS-Tricks.com, a été volé. "Le détournement de domaine", ils l'appellent. Ce n'était pas juste ce site, mais environ 12 autres

Éléments pleine largeur en utilisant une grille de bord à bordÉléments pleine largeur en utilisant une grille de bord à bordApr 11, 2025 am 10:09 AM

Si vous avez un conteneur à largeur limitée, disons une colonne de texte centrée, "éclater" de cela pour faire un élément pleine largeur implique la ruse. Peut-être le meilleur

Créer un élément de détails qui s'ouvre mais ne se ferme jamaisCréer un élément de détails qui s'ouvre mais ne se ferme jamaisApr 11, 2025 am 10:02 AM

Les éléments et les éléments de HTML sont utiles pour faire des bascules de contenu pour des bits de texte. Par défaut, vous voyez le

Création d'une page Web modifiable avec des feuilles de calcul Google et tabletop.jsCréation d'une page Web modifiable avec des feuilles de calcul Google et tabletop.jsApr 11, 2025 am 10:01 AM

Veuillez lever la main si vous avez déjà fait face à des demandes de révision de contenu sans fin de vos clients. Ce n'est pas que les changements eux-mêmes sont difficiles, mais

L'innovation ne peut pas garder le Web rapidementL'innovation ne peut pas garder le Web rapidementApr 11, 2025 am 09:59 AM

De temps en temps, les fruits de l'innovation portent des fruits sous la forme d'améliorations aux couches fondamentales du Web. En 2015, HTTP / 2 est devenu une publication

Guillermo & # 039; s 2019 en revueGuillermo & # 039; s 2019 en revueApr 11, 2025 am 09:52 AM

De tous les messages de la technologie de la technologie que j'ai lus, Guillermo Rauch est mon préféré. Il y en a beaucoup là-dedans, à sauter de sujets comme les architectures modernes,

Les crochets du routeur ReactLes crochets du routeur ReactApr 11, 2025 am 09:49 AM

React Router 5 embrasse la puissance des crochets et a introduit quatre crochets différents pour aider à l'acheminement. Vous trouverez cet article utile si vous cherchez

Passer de Vanilla Javascript à un composant Vue réutilisablePasser de Vanilla Javascript à un composant Vue réutilisableApr 11, 2025 am 09:40 AM

J'ai récemment écrit un article expliquant comment vous pouvez créer un minuteur à rebours à l'aide de HTML, CSS et JavaScript. Maintenant, regardons comment nous

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

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),