Ajout de la mise en cache CDN à une version Vite
Tirer parti d'un réseau de livraison de contenu (CDN) améliore considérablement les performances du site Web en mettant en cache des actifs statiques plus près des utilisateurs. Les CDN y parviennent en distribuant du contenu à travers des serveurs de bord dispersés à l'échelle mondiale. Lorsqu'un utilisateur accède à votre site, le CDN dirige la demande au serveur le plus proche. Si l'actif est déjà mis en cache (à partir d'une visite précédente ou d'un autre utilisateur), il est servi instantanément. Sinon, le CDN le récupére à partir de votre serveur d'origine, le met en cache, puis le livre.
Ce tutoriel utilise AWS CloudFront comme exemple, démontrant comment configurer une distribution pour servir JavaScript, CSS, fichiers de police et autres actifs statiques, et l'intégrer avec un processus de construction VITE. Pour une approche plus robuste, envisagez d'utiliser des outils d'infrastructure comme le code comme le framework sans serveur ou AWS CDK. Cependant, pour simplifier, nous utiliserons la console AWS.
Configuration d'une distribution AWS CloudFront
- Accédez à la page d'accueil CloudFront dans la console AWS.
- Cliquez sur le bouton "Créer une distribution".
- Dans l'écran de création, spécifiez le domaine d'origine (où résident vos actifs). La plupart des paramètres par défaut conviennent.
- Surtout, sélectionnez "CORS-With-Preflight" dans la liste déroulante "Politique des en-têtes de réponse".
- Cliquez sur "Créer une distribution". Votre nouvelle distribution apparaîtra alors.
Intégrer le cloudfront à Vite
Bien que la configuration du CDN soit essentielle, votre site Web doit être configuré pour en récupérer des actifs. Cette intégration est similaire dans divers systèmes de construction (WebPack, Rollup, etc.).
- Dans votre fichier
vite.config.ts
, déterminez si la construction est pour la production:
const isProduction = process.env.node_env === "Production";
- Configurez Vite pour utiliser le CDN en production:
Exporter de défaut DefiConfig ({ Base: Isproduction? process.env.react_cdn: "", });
N'oubliez pas de définir la variable d'environnement REACT_CDN
sur l'URL de votre distribution CloudFront (par exemple, https://distributiondomainname.cloudfront.net
).
Compatibilité Vitepwa
Si vous utilisez le plugin Vitepwa, assurez-vous que votre propriété base
est correctement définie:
Vitepwa ({ base: "/", });
Les paramètres incorrects peuvent entraîner des erreurs dans votre fichier web.manifest
.
Vérification des fonctionnalités CDN
Après la configuration, inspectez les demandes du réseau pour les actifs de votre site. Vous devez observer le protocole h2
. Examiner les en-têtes de réponse; Vous trouverez des données liées à CloudFront confirmant l'implication du CDN.
Cache battant de vite
Vite gère automatiquement le cache qui se déroule à travers les empreintes digitales. Il ajoute des codes de hachage aux noms de fichiers d'actifs (par exemple, home-abc123.js
). Lorsque les actifs changent, le hachage change, forçant le CDN à récupérer la version mise à jour.
Extension de la mise en cache CDN
Les avantages de mise en cache CDN s'étendent au-delà de JavaScript, CSS et des polices. Si vous utilisez S3 pour le stockage d'images, envisagez de configurer une distribution CloudFront pour elle. Cela fournit non seulement une mise en cache de bord, mais permet également la prise en charge de HTTP / 2, ce qui manque à S3.
Stratégies CDN avancées
Ce tutoriel couvre l'intégration de base CDN. Pour des performances optimales, envisagez de servir l'ensemble de votre site à partir du CDN, ce qui lui permet d'interagir avec votre serveur d'origine uniquement pour le contenu dynamique.
Conclusion
Les CDN sont un outil puissant pour améliorer les performances du site Web en fournissant une mise en cache Edge et une prise en charge HTTP / 2. Ce guide simplifie le processus de configuration d'un CDN et de l'intégrer à Vite, vous équipant d'une technique précieuse d'optimisation des performances.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Si nous devons afficher la documentation à l'utilisateur directement dans l'éditeur WordPress, quelle est la meilleure façon de le faire?

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

CSS Grid est une collection de propriétés conçues pour faciliter la mise en page qu'elle ne l'a jamais été. Comme tout, il y a un peu une courbe d'apprentissage, mais Grid est

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence
