💨

nuxt.jsページ遷移機能を作成しよう!

2024/09/10に公開

vueを使ってウェブページを作っていた時の話です。

結論

フォルダ構造を見直しました。

環境

nuxt.js+vue.js

つまずいていたこと

nuxtやvueをインストールしたときのapp.vueをベースにトップページを作成していたのですが、そこからページ遷移機能が付きませんでした。

原因

フォルダ構造の理解ができていませんでした。

あるべきフォルダ構造

Nuxt.js では、pages ディレクトリにあるファイルが自動的にアプリケーションのルートとしてマッピングされるそうです。

pages/
├── index.vue/
└── other.vue/
  • pages/index.vue: これはルート / に対応します。index.vue が存在すると、自動的にトップページとして認識されます。
  • pages/other.vue: これはルート /other に対応します。ファイル名とパスがそのままルートになります。

今回やってしまっていたこと

├──pages/
|   └── other.vue
└── app.vue ←これをホームとして作成していた
  • app.vue: Nuxt.js のプロジェクト全体をラップするルートコンポーネントです。通常、レイアウトやグローバルな設定をここに配置します。ルート自体の設定には関与しません。

ということなのでapp.vueは正しく使いましょう

Discussion