「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > React Apps のデプロイ: GitHub ページの使用ガイド

React Apps のデプロイ: GitHub ページの使用ガイド

2024 年 7 月 30 日に公開
ブラウズ:328

Deploying React Apps: A Guide to Using GitHub Pages

多くの開発者、特にエコシステムに詳しくない開発者は、React アプリのデプロイが難しいと感じています。 GitHub Pages を使用すると、React アプリを含む静的 Web ページを無料かつ簡単にホストできます。 React アプリを GitHub Pages にデプロイすることは、プロセスのすべてのステップを説明するこの詳細なチュートリアルの助けを借りて、簡単かつ手間のかからないものになります。

  1. GitHub ページの概要

GitHub Pages は、個人、組織、またはプロジェクトのページを GitHub リポジトリから直接ホストするように設計された静的サイト ホスティング サービスです。 GitHub ワークフローとのシームレスな統合を提供するため、React アプリをホストするのに理想的な選択肢となります。

主な利点:

無料で使いやすい。

カスタム ドメインをサポートします。

サイトを自動的に構築して展開します。

詳細については、GitHub Pages のドキュメントを確認してください。

  1. React アプリのセットアップ

React アプリを GitHub Pages にデプロイする前に、動作する React アプリケーションがあることを確認してください。まだお持ちでない場合は、Create React App (CRA) を使用して新しい React アプリを作成できます。

npx create-react-app my-react-app
cd my-react-app

このコマンドは、必要な構成をすべて備えた新しい React プロジェクトをセットアップします。

  1. React アプリのデプロイの準備

React アプリを GitHub Pages にデプロイするには、アプリの構成にいくつかの変更を加える必要があります。

GitHub ページ パッケージのインストール:

npm install gh-pages --save-dev

package.json を更新します:

次のフィールドを package.json ファイルに追加します:

"homepage": "https://.github.io/",
"scripts": {
  "predeploy": "npm run build",
  "deploy": "gh-pages -d build"
}

GitHub ユーザー名とリポジトリの名前に置き換えます。

  1. GitHub リポジトリの作成

GitHub に移動して、新しいリポジトリを作成します。

リポジトリに名前を付け、パブリックに設定します。

README、.gitignore、ライセンスは後で追加されるため、これらを使用して初期化しないでください。

  1. React アプリを GitHub ページにデプロイする

React アプリの準備が整い、GitHub リポジトリができたので、デプロイします。

Git を初期化して GitHub にプッシュする:

git init
git remote add origin https://github.com//.git
git add .
git commit -m "Initial commit"
git push -u origin master

アプリをデプロイする:

npm run deploy

このコマンドはアプリをビルドし、リポジトリの gh-pages ブランチにデプロイします。

  1. 導入に関する一般的な問題とトラブルシューティング

React アプリを GitHub Pages にデプロイすると、問題が発生することがあります。一般的な問題とその解決策は次のとおりです:

404 エラー: package.json のホームページ フィールドが正しく設定されていることを確認してください。

ビルドの失敗: ビルド スクリプトをチェックし、すべての依存関係がインストールされていることを確認してください。

CORS の問題: クロスオリジン リクエストを行う場合は、API エンドポイントが CORS をサポートしていることを確認してください。

トラブルシューティングのヒントの詳細については、GitHub Pages トラブルシューティング ガイドを参照してください。

  1. GitHub アクションによるデプロイメントの自動化

GitHub Actions は、デプロイメントプロセスを自動化できる強力な CI/CD 機能を提供します。設定方法は次のとおりです:

ワークフロー ファイルの作成:

リポジトリに、.github/workflows/deploy.yml.

という名前のファイルを作成します。

展開スクリプトの追加:

名前: React アプリを GitHub ページにデプロイする

on:
  push:
    branches:
      - master

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '14'

      - name: Install dependencies
        run: npm install

      - name: Build the React app
        run: npm run build

      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./build

このワークフローは、マスター ブランチに変更をプッシュするたびに、React アプリを自動的にデプロイします。

  1. 高度な導入テクニック

基本以外にも、展開プロセスを強化するために使用できる高度なテクニックがいくつかあります。

カスタム ドメイン: リポジトリに CNAME ファイルを追加することで、GitHub Pages サイトでカスタム ドメインを使用できます。

HTTPS の強制: リポジトリ設定で HTTPS オプションを有効にすることで、サイトが常に HTTPS 経由で提供されるようにします。

ブランチ デプロイメント: ステージング環境と実稼働環境の異なるブランチからデプロイします。

詳細については、「GitHub Pages カスタム ドメイン ガイド」を参照してください。

  1. React アプリを導入するためのベスト プラクティス

導入を成功させ、高品質のユーザー エクスペリエンスを確保するには、次のベスト プラクティスに従ってください:

ビルドの最適化: webpack や Babel などのツールを使用して、JavaScript バンドルを最適化します。

環境変数の使用: 環境変数を使用して環境固有の設定を管理します。

パフォーマンスの監視: パフォーマンス監視ツールを使用して、デプロイされたアプリのパフォーマンスを追跡し、改善します。

その他のベスト プラクティスについては、React デプロイメント ガイドを参照してください。

  1. 結論

React アプリを GitHub Pages にデプロイするのは簡単なプロセスであり、静的 Web サイトのホスティングと管理を大幅に簡素化できます。このガイドで概説されている手順に従うことで、スムーズで効率的な展開プロセスを確実に行うことができます。

このガイドに従うことで、React アプリを GitHub Pages にデプロイする準備が整い、GitHub のホスティング機能を活用してアプリケーションを世界に配信できるようになります。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/nilebits/deploying-react-apps-a-guide-to-using-github-pages-1f56?1 侵害がある場合は、[email protected] までご連絡ください。それを削除するには
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3