Nuxt Generate Dynamic Routes Path

Daniel Oshiro picture Daniel Oshiro · Mar 1, 2018 · Viewed 7.3k times · Source

I'm creating a site with wp-api. All my pages are inside: - pages -- _slug If my page slug are site.com/about

- pages -- about Nuxt will generate html like this. But... If my path are site.com/company/about

Can I create this routes?

PS: I'm using wordpress api for that. So if my pages has parent pages, the path are: site.com/parent/child

Answer

toast38coza picture toast38coza · Jun 5, 2018

You can use the routes key in nuxt.config.js to do this.

The docs are here: https://nuxtjs.org/api/configuration-generate/#routes

In a nutshell, you can write a function in nuxt.config.js:generate.routes which generates the pages for you.

Here is an example: nuxt.config.js:

const axios = require('axios')

module.exports = {
  ...
  generate: {
    routes: function () {
      return axios.get('https://your-wordpress-api/')
      .then((res) => {
        return res.data.map((page) => {
          let route = '/whatever/you/like/' + page.slug
        })
      })
    }
  }
}

Some tips: