0.0.31 • Published 2 years ago

quasar-app-extension-auto-routing v0.0.31

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Quasar App Extension auto-routing

\"Nuxt-like\" routing in Quasar projects

Install

quasar ext add auto-routing

Quasar CLI will retrieve it from the NPM registry and install the extension to your project.

Lastly, dive into src/router/routes.js and use the generated routes:

import generatedRoutes from './auto-routing' // 🤿 Here

const routes = [
  ...generatedRoutes, // 🤿 And here
  {
    path: '/',
    component: () => import('layouts/MainLayout.vue'),
    children: [
      { path: '', component: () => import('pages/Index.vue') }
    ]
  },

  // Always leave this as last one,
  // but you can also remove it
  {
    path: '/:catchAll(.*)*',
    component: () => import('pages/Error404.vue')
  }
]

export default routes

Linting

You may want to ignore linting on the auto-generated routes! Add the following at the bottom of your .eslintrc file:

/src/router/auto-routing

That's it! Start adding pages to your src/pages directory and the routing will be automagically done for you!

Also take a look at src/layouts/default.vue to change the default used layout.

A note about routePrefix

When adding a routePrefix in quasar.extensions.json, be sure to also set "nested": true inside generatorConfig. This is best shown with an example!

{
  "auto-routing": {
    "pagesDir": "src/pages",
    "routePrefix": "/admin", // 🤿 Set a prefix for routes
    "layoutsDir": "src/layouts",
    "ignorePattern": "/(^|[/\\])../",
    "outDir": "src/router/auto-routing",
    "pagesImportPrefix": "pages/",
    "generatorConfig": {
      "nested": true // 🤿 Tell the generator to treat ALL routes as nested.
    }
  }
}

References

Note that we can also proxy settings to vue-route-generator with the generatorConfig property

  • pagesDir: path to the page components
  • routePrefix: prefix all routes (e.g. /posts). See section above on "routePrefix"
  • layoutsDir: path to the layout components
  • ignorePattern: files that match this pattern will be ignored by the generator in your pages and layout dir
  • outDir: directory that holds generated routes
  • pagesImportPrefix: When generating routes, this prefix is used. By default, we use Quasar's pages alias (pages/)
  • generatorConfig: See vue-route-generator "References" for all available options

Find out more

Want to know how it all works? Take a look at vue-route-generator, which is what this App Extension is built on!

Donate

If you appreciate the work that went into this App Extension, please consider donating to Quasar.

0.0.31

2 years ago

0.0.30

2 years ago

0.0.29

2 years ago

0.0.28

2 years ago

0.0.27

2 years ago

0.0.26

2 years ago

0.0.25

2 years ago

0.0.24

2 years ago

0.0.23

2 years ago

0.0.22

2 years ago

0.0.21

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago