はじめに
Reactで作成したWebアプリをGitHub Pagesでデプロイする際に結構躓いたので,こうすると出来たよという現時点での情報を備忘録として残す。
環境
- Windows
完成品
https://fk-ln.github.io/react-test/
とりあえずデプロイの手順だけを示すので,使うリポジトリはnpx create-react-app
で作成したデフォルトのサンプル。
手順
- GitHubでリポジトリを作成してmain(master)リポジトリにpush
- ローカルリポジトリで
npm install gh-pages --save-dev
-
package.json
を開いて以下を追記(/
と/Scripts/
の二か所)
{
~省略~
"homepage": "https://fk-ln.github.io/tdu-new-school/",
※GitHubの`Settings`→`Pages`に表示されるURLをコピペ
~省略~
"Scripts": {
~省略~
deploy": "npm run build && gh-pages -d build",
}
~省略~
}
-
npm run build
を実行 - GitHubの
Settings
→Pages
でBranchをgh-pages
,フォルダを/(root)
に設定
これで先ほど設定した(package.jsonに書いた)URLにアクセスするとアプリが使えるはず。(反映に数分かかるかも)
gh-pages
gh-pages
というnpmパッケージではソースコードをコンパイルしてbuild
フォルダを作成し,それをgh-pages
ブランチにpushしてくれる。
躓いた点
-
package.json
に"homepage":
を書いていなかった
→どうやらデプロイ先のURLは明示的に示す必要があるっぽい - 操作にWindows Powershellを使っていた
→npm run buildではGitHubにpushする作業が行われるのでgit bashなどのgitコマンドを使える環境で行う。