事前準備
- GitHub Pagesに公開するローカルリポジトリがあること
- リモートブランチがあり、リモート設定されていること
react-router-domの対応
react-router-domを使っている方は、<BrowserRouter>
にbasename={process.env.PUBLIC_URL}
を追加してください。
これがないと自分の環境では初期ページが真っ白のままで表示されませんでした。
<BrowserRouter basename={process.env.PUBLIC_URL}>
</BrowserRouter>
公開手順
1. gh-pagesをインストールする
gh-pages
はGitHub Pagesへのデプロイを簡単にしてくれるpackageです。
$ npm install gh-pages --save-dev
2. package.jsonの編集
1つ目にhomepage
を追記します。
<GitHubユーザー名>
と<リポジトリ名>
を自分の環境に合わせて変更してください(<>
は不要です)
package.json
"homepage": "https://<GitHubユーザー名>.github.io/<リポジトリ名>", // 追加
"name": "react_todo_list",
"version": "0.1.0",
2つ目にscripts内にpredeploy
とdeploy
を追記します。
package.json
"scripts": {
"predeploy": "npm run build", // 追加
"deploy": "gh-pages -d build", // 追加
"start": "react-scripts start",
// 省略
},
3. GitHub Pages用ブランチのpush
package.json
に追加したコマンドで、GitHub Pages用ブランチをpushします。
$ npm run deploy
ターミナルにPublished
と表示されれば成功です。
リモートリポジトリにgh-pages
ブランチがあるか確認してください。
4. GitHub Pagesを公開する
リモートリポジトリのページからSetting > Pagesをクリックします。
公開するブランチはgh-pages
のroot
を選択してSaveをクリックしてください。
5分も待てば同じページに公開先のURLが表示されます。
Visit Siteをクリックしてページを確認してください。
手順は以上となります。
お疲れ様でした。
参考