Maison >outils de développement >git >Que dois-je faire si hexo ne peut pas être affiché normalement lorsqu'il est déployé sur gîte ?

Que dois-je faire si hexo ne peut pas être affiché normalement lorsqu'il est déployé sur gîte ?

PHPz
PHPzoriginal
2023-04-11 09:10:06740parcourir

Hexo est un générateur de blogs statiques très populaire qui prend en charge le déploiement multiplateforme, notamment GitHub, GitLab et Coding. Il prend également en charge le déploiement sur la plate-forme nationale de cloud de code (gitee). Cependant, certains utilisateurs d'Hexo ont constaté que le contenu du blog ne pouvait pas s'afficher correctement lors du déploiement de leurs blogs sur gitee. Comment résoudre ce problème ?

Tout d'abord, nous devons préciser que ce problème n'est pas causé par Hexo lui-même, mais par les restrictions de la plateforme gîte sur les requêtes inter-domaines. Lorsque vous utilisez Hexo pour déployer votre blog sur la plateforme gitee, certains fichiers statiques sont générés (tels que HTML, CSS, JS, etc.). Les chemins des images, polices et autres ressources statiques dans ces fichiers sont des chemins relatifs. tel que « . ./images/test.png ». Lorsque votre blog est accessible via gitee, gitee mettra en cache ces fichiers statiques et fournira le contenu mis en cache auquel les utilisateurs pourront accéder. Cependant, lorsque les utilisateurs auront besoin d'accéder aux images, aux polices et à d'autres ressources statiques, il utilisera des chemins relatifs. (tel que "exemple.com") où il se trouve effectue une requête inter-domaines. À ce moment-là, le problème survient. La plateforme gitee restreint les requêtes inter-domaines, ce qui entraîne l'impossibilité d'afficher le contenu du blog normalement.

Alors, comment résoudre ce problème ? Voici quelques solutions possibles :

  1. Utilisez un CDN. L'utilisation de CDN peut résoudre le problème des chemins relatifs. Vous pouvez télécharger toutes les ressources statiques sur CDN et définir l'adresse sur un chemin absolu, afin d'éviter les problèmes de requêtes inter-domaines. Par exemple, « https://cdn.example.com/images/test.png ». Cependant, l’utilisation du CDN est payante. Si les conditions financières ne le permettent pas, vous pouvez envisager les options suivantes.
  2. Téléchargez toutes les ressources statiques dans un entrepôt en gîte. Dans gitee, nous pouvons créer un nouvel entrepôt puis télécharger toutes les ressources statiques vers cet entrepôt. Nous devons ajouter l'adresse d'accès dans l'entrepôt au fichier de configuration Hexo pour éviter les problèmes de requêtes inter-domaines. Par exemple, « https://gitee.com/username/static/raw/master/images/test.png ». L'inconvénient de cette méthode est qu'elle nécessite un téléchargement manuel des fichiers, ce qui est gênant. Cependant, si le contenu du blog ne change pas, vous pouvez utiliser la fonction de mise en cache pour réduire le nombre de requêtes.
  3. Utilisation de Travis CI. Cette solution nécessite que vous ayez une certaine expérience en programmation. Travis CI est un outil de test et de déploiement intégré qui peut automatiquement créer, tester et déployer du code sur un serveur d'intégration continue, afin que vous puissiez déployer automatiquement votre blog. Pour des opérations spécifiques, veuillez vous référer à la documentation officielle. Cette solution est relativement complexe, mais l'effet est très bon.

Pour résumer, le problème de ne pas pouvoir afficher correctement le blog Hexo est dû aux restrictions de la plateforme gitee sur les requêtes inter-domaines. Cela peut être résolu en utilisant CDN, en téléchargeant des fichiers statiques dans un entrepôt dans gitee et. en utilisant la question de Travis CI. Chaque option a ses avantages et ses inconvénients, et vous pouvez choisir celle qui vous convient en fonction de votre situation réelle.

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