Nuxt3からNuxtを触り始めたNuxt初心者によるメモです。
.output/publicを公開ディレクトリにするとこけてしまう
Nuxt3で静的サイトを生成するときは、npm run generate
などのコマンドで実行ファイルを生成します。
その時の出力先として、Nuxt3のドキュメントには.outputであると書かれており、
https://nuxt.com/docs/guide/directory-structure/output
npm run build
実行時には以下が出力されます。
ではNetlifyの公開ディレクトリも .outpu/public
に設定すればいいのかと思ったのですが、
Deploy directory ".output/public" does not existというエラーでこけてしまう...
.output/publicへのシンボリックリンクとして設定されているdistディレクトリ
Nuxt2では、静的ファイルはdistディレクトリに格納される。
.output
以下に静的ファイルが格納されるようになったのはNuxt3から。
いろいろ調べたのをまとめると、Nuxt 3プロジェクトでは、ビルドプロセスが.output/publicディレクトリを生成し、それと同時に同時に、互換性のためにdist
ディレクトリは.output/public
へのシンボリックリンクとして設定され、Nuxt2以前のツールや設定との互換を保つ感じのようです。
https://qiita.com/ayumun_jp/items/bf7ff6d0002c4b48c5a9
https://v2.nuxt.com/ja/docs/directory-structure/dist/
Netlifyでの公開ディクレトリをdistにしたらうまく行った
タイトルの通りです。
公開ディレクトリを.output/public
からdist
に変更したらうまくいきました。
実体である.output/public
の設定でエラーになってしまうのはなぜか今のところわからずですが、netlifyでNuxt3の静的サイトを公開するときのディレクトリはdist
にしておくのが良さそうです。。