2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nuxtのコードをGitHub Pagesにデプロイして上手くいかないときの対応

Posted at

始めに

Nuxtはnuxt generateで静的ファイルを出力するためGitHub Pagesに配置できると思っていたのですが、意外とつまってしまったのでそれに関して記事にしました。

※バージョンによって挙動が違う気がするので注意してください。僕が試したときはNuxtのバージョンはv2.8.1でした。

結論

先に結論を言うと、gh-pagesモジュールでpushする場合はgh-pages -d dist -tにして、-tオプションをいれたら動きました。

背景と原因

基本的にGitHub Pagesのデプロイは以下のサイトを参考にしていました。

ビルドの設定は問題なかったのですが、デプロイの方でいつも使っているgh-pagesにしたことで問題が起きました。具体的にはデプロイ先にアクセスすると生成された_nuxtディレクトリ以下のファイルをみてくれませんでした。
どうやらGitHub Pagesは_が先頭についているものは無視されてしまうようで、.nojekyllを配置しないといけないようでした。

NuxtプロジェクトをそのままGitHub Pagesに上げると_nuxt配下が404になる

ただ疑問なのはnuxt generateで生成されたファイルには.nojekyllがちゃんと入っており、これがpushされていれば何の問題もなかったのですが、なぜかpushされていませんでした。gh-pages側がドットファイルのpushをスキップしているようです。このドットファイルを含めてpushする方法がなかなか見つからず困っていましたが、どうやら-tオプションをつけるとやってくれるようです。(yarn gh-pages -hでコマンドを確認すると普通に載ってました)

gh-pages with static html can't access file when it exists

終わりに

.nojekyllがないから動かないという記事はよく見かけたのですが、gh-pagesでpushする方法に関する記事は見つからなかったので記事にしました。誰かの役に立てれば幸いです。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?