💭
Nuxt3の環境構築で詰まった部分(PagesDir、nuxt.config.ts)
Nuxt3ではディレクトリ構成がかなりNuxt2と比べてシンプルでした。
Nuxt2に似た構成でやりたいなということでsrc
ディレクトリを作って以下にPages
ディレクトリなどを作ってアプリ作ろうとしていました。
Nuxt3を訳も分からず触ったため何点か詰まった部分があったので備忘録として書きます。
Pagesディレクトリを作ってファイルを作るだけじゃ反映されない
Nuxt2で勝手にPagesディレクトリの下にあればルーティングされていたので脳死でPagesディレクトリを作ったが反映されなかった。
pagesディレクトリを使う際は、初期にあるapp.vue
ファイルに
./app.vue(公式よりそのまま引用)
<template>
<div>
<NuxtLayout>
<NuxtPage/>
</NuxtLayout>
</div>
</template>
真ん中の<NuxtPage/>
を入れることでPagesディレクトリを読み込んで、使えるようになる。
<NuxtLayout>
はこのままだとlayoutsディレクトリのdefault.vueを適用できるようになる。
srcディレクトリ下にコードを置くのにはconfigでの設定がいる。
Pages
ディレクトリに書いても全く反映されないので、なにがおかしいのか分からなかったのですが、まず以下の記事を見てとりあえず解決しました。原因はsrc
を勝手に作ってそこにコードを置いて行ったので当たり前ですがnuxt.config.ts
でルートディレクトリを変更する設定がいりました。
nuxt.config.ts
export default defineNuxtConfig({
...
rootDir: "src/"
})
ただconfigファイルたちはルートディレクトリの下にあって欲しいなと思っていたところ、以下で設定できそうなことがわかりました。
nuxt.config.ts
export default defineNuxtConfig({
...
srcDir: "src/"
})
srcDirでソースディレクトリの変更を行うことができました。
rootDir:
srcDir :
う~ん、見返すと大した疑問ではなかったですが、少しだけNuxt3を理解できたような気がします。
間違い等あれば、教えていただけるとありがたいです。
Discussion