Vue
Nuxt3のルーティング、ダイナミックルーティングを使う方法
Nuxt3のルーティング、ダイナミックルーティングを使う方法について書きました。
PR
はじめに
Nuxt2 のときは、色々ディレクトリがあって、勝手に DynamicRouting していたような気がしたんですが、Nuxt3 では下記のようなディレクトリ構成にしても動きませんでした。
ダイナミックルーティングは、
pages/about/index.vueのように任意にディレクトリとファイルを作るだけで/aboutページのルーティングを作ってくれるというもので、その結果ルーティング用のファイルが不要でした。
結論
app.vue 下記のように書き換える
<template>
<NuxtPage />
</template><NuxtPage />は、Vue で言うところの、RouterView がラッピングされたコンポーネントです。
<NuxtPage page-key="static" /><NuxtPage :page-key="route => route.fullPath" />key をつけることでレンダリング条件を変えることができますが、詳しくは以下を読んでみてください
layouts/default.vue を作る
<template>
<div>
<header>
<li>TOP</li>
<li>ABOUT</li>
<li>CONTACT</li>
</header>
<main>
<!-- このslot部分に各ページのレイアウトが入る -->
<slot />
</main>
</div>
</template>pages/about/index.vue を作る
<template>
<div>About</div>
</template>http://localhost:3000/about にアクセスした結果、無事表示されました。
pages や layouts ディレクトリは初期搭載されていないので自分で作成する必要があります。
ディレクトリ構成を画像で貼っておきます。
うまくいかない時
ページを追加したらビルドしなおす
一度、ローカルサーバーを以下のコマンドで停止
Control + Cローカルサーバーを起動しなおす
yarn devまたは、
npm run devおわりに
以上、Nuxt3 でダイナミックルーティングで動かすところまでを記事にしてみました。
誰かの参考になれば幸いです。
フィードバックのお願い
この記事のフィードバックがありましたらYoutubeの適当な動画にコメントしていただいたり、お問い合わせからご連絡ください。




