DEV Community

loading...
Cover image for Mixing nuxt generate and build

Mixing nuxt generate and build

f3ltron profile image florent giraud ・1 min read

Hello everyone !

I wanted to share you a little tip with nuxt generate.

I wanted to put my landing pages in a CDN but not my dashboard.

According to the nuxt generate documentation we you can use exclude with a regex.

But yeah "regex".

I don't like (a lot!) regex and i prefer to use include instead of using exclude.
I created a module that use 'generate:extendRoutes' and introduce whitelist instead of exclude.

// modules/custom-generate.js
module.exports = function() {
  this.nuxt.hook('generate:extendRoutes', (routes) => {
    const whiteList = [
      '/', //this is the index.vue root file
      '/talents-signed-up',
      '/404',
      '/company-signed-up',
      '/company',
      '/talents'
    ]
    const routesToGenerate = routes.filter((page) => {
      return whiteList.includes(page.route)
    })
    routes.splice(0, routes.length, ...routesToGenerate)
  })
}

This module is ok if you don't have a lot of pages that you want to generate.

You can add 'regex' valiation in the filter instead of my array if you prefer :).

Thank's !

Discussion (2)

pic
Editor guide
Collapse
dreaminder profile image
DreaMinder

You mean /dashboard static-routes are getting generated and you want them to be spa-only?
You could use this command to avoid generating any routes except the ones you specified in nuxt.config:
nuxt build && nuxt generate --no-build
instead of nuxt generate

Collapse
f3ltron profile image
florent giraud Author

Ok i get it ! I dont want my dashboard to be full SPA. in some page i want to be sure that back request working and the client non see them so it's a nuxt build && nuxt generate in my case