1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Viteを使用してGitHub Pagesでデプロイすると画面が真っ白になる

Posted at

はじめに

Vite + React + TypeScript + Tailwind CSSで作成した簡単なアプリケーションをGitHub Pagesでデプロイしようとしたのですが、タブにタイトルだけは出るものの、画面が真っ白になってしまいました。

検索して出てくる対処法を色々試したのですがうまくいかず、結局、gh-pagesブランチを使うことで無事画面が表示されました。上手くいった理由はわからないのですが、一応記録しておきます。

環境

  • vite: 5.4.10
  • React: 18.3.1
    • React Routerは未使用
  • TypeScript: 5.6.2
  • Tailwind CSS: 3.4.14

結論

以下のようにgh-pagesブランチを使ってデプロイすることで上手くいきました。

gh-pagesパッケージのインストール

$ npm install gh-pages --save-dev

package.jsonへの追記

  • 直下に"homepage"を追加
package.json
"homepage": "https://{GitHubアカウント名}.github.io/{リポジトリ名}/",
  • "script"に以下を追加
package.json
"deploy": "npm run build && gh-pages -d dist"

デプロイ

$ npm run deploy

GitHubの設定変更

Settings > Pagesでブランチをgh-pagesに変更して『Save』を押す

スクリーンショット 2024-11-28 20.40.16.png

以上で無事に表示されるようになりました。

効果がなかったこと

私の環境では効果がなかったことを挙げます。

index.htmlでの相対パスの変更

  • src="/src/main.tsx"などをsrc="./src/main.tsx"に変更する
    • 画面が真っ白ということは、tsxやcssのファイルが参照されていないってことなので、パスの変更は効果ありそうでしたが、だめでした

vite.config.tsのbaseの変更

  • base: process.env.GITHUB_PAGES ? 'REPOSITORY_NAME' : './',base: /{リポジトリ名}/を追加する
    • 検索して真っ先に出てくる解決策でしたが効果なし、、

ちなみに、gh-pagesブランチでのデプロイは、baseを上記のどちらにしても上手くいきました

BrowserRouterの修正

  • main.tsx.のBrowserRouterを以下の通り修正する
    • めちゃくちゃ意味ありげでしたが、私はそもそもReact Router使ってないので関係なかったです

      <BrowserRouter basename={import.meta.env.DEV ? "/" : "/{リポジトリ名}/"}>
      

終わりに

せっかく作成したアプリなのでやっとデプロイできて良かったですが、原因がわからないのでモヤモヤしてます。よろしければコメントで教えてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?