0
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 3 years have passed since last update.

Nuxt.js vue-routerの自動生成を利用しない方法

Posted at

Vue.jsからの以降でファイル名を変えたくない!
MetaフィールドなどAlias設定したい!
様々な理由でvue-routerの自動生成を使わずに手動設定する方法

どうすればいいか

pages ディレクトリ外に Vue ファイルを置く
・extendRoutesでルーティング設定する

pages ディレクトリ外に Vue ファイルを置く

pages ディレクトリ内の Vue ファイルから自動生成されるので
単純にpages ディレクトリ以外のディレクトリに Vue ファイルを置けば自動生成されないのでviewsディレクトリなど適当なフォルダを作成して、そこに置く。
pages自体を消してしまうとビルドエラーになる為、空のまま残しておく

extendRoutesでルーティング設定する

nuxt.config.js ファイルのrouterプロパティのextendRoutesでルーティングの拡張を行う

設定例

nuxt.config.js
  router: {
    extendRoutes(routes, resolve) {
      routes.push({
          name: 'index',
          path: '/',
          component: resolve(__dirname, 'views/index.vue')
        },
        {
          name: 'user',
          path: '/user',
          component: resolve(__dirname, 'views/user/index.vue')
        },
        {
          name: 'user-one',
          path: '/user/one',
          component: resolve(__dirname, 'views/user/one.vue')
        })
    }
  }

参考サイト

API: router プロパティ - NuxtJS

0
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
0
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?