ホームページ  >  記事  >  開発ツール  >  giteeにデプロイした際にhexoが正常に表示されない場合はどうすればよいですか?

giteeにデプロイした際にhexoが正常に表示されない場合はどうすればよいですか?

PHPz
PHPzオリジナル
2023-04-11 09:10:06577ブラウズ

Hexo は、GitHub、GitLab、Coding などのマルチプラットフォーム展開をサポートする非常に人気のある静的ブログ ジェネレーターであり、国内のコード クラウド (gitee) プラットフォームへの展開もサポートしています。ただし、一部の Hexo ユーザーは、ブログを gitee にデプロイするときにブログのコンテンツが正しく表示されないことに気付きました。

まず第一に、この問題は Hexo 自体が原因ではなく、gitee プラットフォームによってクロスドメイン リクエストに課された制限が原因であることを明確にする必要があります。 Hexo を使用してブログを gitee プラットフォームにデプロイすると、いくつかの静的ファイル (HTML、CSS、JS など) が生成されます。これらのファイル内の画像、フォント、その他の静的リソースのパスは相対パスです。 「. ./images/test.png」など。 gitee 経由でブログにアクセスすると、gitee はこれらの静的ファイルをキャッシュし、キャッシュされたコンテンツをユーザーがアクセスできるように提供します。ただし、ユーザーが画像、フォント、その他の静的リソースにアクセスする必要がある場合は、相対パスが使用されます。 (example.com など) が配置されている場所でクロスドメインリクエストが発生すると、gitee プラットフォームがクロスドメインリクエストを制限し、ブログコンテンツが正常に表示されなくなるという問題が発生します。

それでは、この問題をどうやって解決すればいいのでしょうか?考えられる解決策は次のとおりです。

  1. CDN を使用します。 CDN を使用すると、相対パスの問題を解決できます。すべての静的リソースを CDN にアップロードし、アドレスを絶対パスに設定して、クロスドメイン要求の問題を回避できます。たとえば、「https://cdn.example.com/images/test.png」です。ただし、CDNの利用には料金がかかりますので、経済状況が許せない場合には、以下のような選択肢も検討してみてはいかがでしょうか。
  2. すべての静的リソースを gitee のウェアハウスにアップロードします。 gitee では、新しいウェアハウスを作成し、すべての静的リソースをこのウェアハウスにアップロードできます。クロスドメインリクエストの問題を避けるために、ウェアハウス内のアクセスアドレスを Hexo 設定ファイルに追加する必要があります。たとえば、「https://gitee.com/username/static/raw/master/images/test.png」です。この方法のデメリットは手動でファイルをアップロードする必要があるので面倒ですが、ブログの内容が変わらない場合はキャッシュ機能を利用することでリクエスト数を減らすことができます。
  3. Travis CI を使用します。このソリューションを使用するには、ある程度のプログラミング経験が必要です。 Travis CI は、コードを自動的に構築、テストし、継続的統合サーバーにデプロイできる統合テストおよびデプロイ ツールです。これにより、ブログを自動的にデプロイできます。具体的な操作については公式ドキュメントを参照してください。このソリューションは比較的複雑ですが、効果は非常に優れています。

要約すると、Hexo ブログを適切に表示できない問題は、Gitee プラットフォームにクロスドメイン リクエストに対する制限があるためです。CDN を使用して、静的ファイルをウェアハウスにアップロードできます。 gitee と Travis CI を使用してこの問題を解決します。各オプションには長所と短所があり、実際の状況に基づいて自分に合ったものを選択できます。

以上がgiteeにデプロイした際にhexoが正常に表示されない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。