mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 16:43:55 +00:00
fix extendRoutes for generate
This commit is contained in:
parent
7b3c62739c
commit
f5300e4e67
24
lib/build.js
24
lib/build.js
@ -155,17 +155,8 @@ function * generateRoutesAndFiles () {
|
|||||||
if (name === 'error') return
|
if (name === 'error') return
|
||||||
layouts[name] = r(this.srcDir, file)
|
layouts[name] = r(this.srcDir, file)
|
||||||
})
|
})
|
||||||
// Generate routes based on files
|
|
||||||
const files = yield glob('pages/**/*.vue', { cwd: this.srcDir })
|
const files = yield glob('pages/**/*.vue', { cwd: this.srcDir })
|
||||||
this.routes = _.uniq(_.map(files, (file) => {
|
|
||||||
return file.replace(/^pages/, '').replace(/\.vue$/, '').replace(/\/index/g, '').replace(/_/g, ':').replace('', '/').replace(/\/{2,}/g, '/')
|
|
||||||
}))
|
|
||||||
if (typeof this.options.router.extendRoutes === 'function') {
|
|
||||||
// let the user extend the routes
|
|
||||||
this.options.router.extendRoutes(this.routes)
|
|
||||||
}
|
|
||||||
// Interpret and move template files to .nuxt/
|
// Interpret and move template files to .nuxt/
|
||||||
debug('Generating files...')
|
|
||||||
let templatesFiles = [
|
let templatesFiles = [
|
||||||
'App.vue',
|
'App.vue',
|
||||||
'client.js',
|
'client.js',
|
||||||
@ -210,6 +201,9 @@ function * generateRoutesAndFiles () {
|
|||||||
// let the user extend the routes
|
// let the user extend the routes
|
||||||
this.options.router.extendRoutes(templateVars.router.routes)
|
this.options.router.extendRoutes(templateVars.router.routes)
|
||||||
}
|
}
|
||||||
|
// Routes for Generate command
|
||||||
|
this.routes = flatRoutes(templateVars.router.routes, '')
|
||||||
|
debug('Generating files...')
|
||||||
if (layoutsFiles.includes('layouts/error.vue')) {
|
if (layoutsFiles.includes('layouts/error.vue')) {
|
||||||
templateVars.components.ErrorPage = r(this.srcDir, 'layouts/error.vue')
|
templateVars.components.ErrorPage = r(this.srcDir, 'layouts/error.vue')
|
||||||
}
|
}
|
||||||
@ -329,6 +323,18 @@ function cleanChildrenRoutes (routes, isChild = false) {
|
|||||||
return routes
|
return routes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function flatRoutes (router, path) {
|
||||||
|
let routes = []
|
||||||
|
router.forEach((r) => {
|
||||||
|
if (r.children) {
|
||||||
|
routes.concat(flatRoutes(r.children, r.path))
|
||||||
|
} else {
|
||||||
|
routes.push(path + r.path)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return routes
|
||||||
|
}
|
||||||
|
|
||||||
function getWebpackClientConfig () {
|
function getWebpackClientConfig () {
|
||||||
return clientWebpackConfig.call(this)
|
return clientWebpackConfig.call(this)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user