packages/@vuepress/core/lib/node/internal-plugins/routes.js
function routesCode (pages) {
  function genRoute ({
    path: pagePath,
    key: componentName,
    frontmatter: {
      layout
    },
    regularPath,
    _meta
  }) {
    let code = `
  {
    name: ${JSON.stringify(componentName)},
    path: ${JSON.stringify(pagePath)},
    component: GlobalLayout,
    beforeEnter: (to, from, next) => {
      ensureAsyncComponentsLoaded(${JSON.stringify(layout || 'Layout')}, ${JSON.stringify(componentName)}).then(next)
    },${_meta ? `\n    meta: ${JSON.stringify(_meta)}` : ''}
  }`

    const dncodedPath = decodeURIComponent(pagePath)
    if (dncodedPath !== pagePath) {
      code += `,
  {
    path: ${JSON.stringify(dncodedPath)},
    redirect: ${JSON.stringify(pagePath)}
  }`
    }

    if (/\/$/.test(pagePath)) {
      code += `,
  {
    path: ${JSON.stringify(pagePath + 'index.html')},
    redirect: ${JSON.stringify(pagePath)}
  }`
    }

    if (regularPath !== pagePath) {
      code += `,
  {
    path: ${JSON.stringify(regularPath)},
    redirect: ${JSON.stringify(pagePath)}
  }`
    }

    return code
  }

  const notFoundRoute = `,
  {
    path: '*',
    component: GlobalLayout
  }`

  return (
    `export const routes = [${pages.map(genRoute).join(',')}${notFoundRoute}\n]`
  )
}
function routesCode (pages) {
  function genRoute ({
    path: pagePath,
    key: componentName,
    frontmatter: {
      layout
    },
    regularPath,
    _meta
  }) {
    let code = `
  {
    name: ${JSON.stringify(componentName)},
    path: ${JSON.stringify(pagePath)},
    component: GlobalLayout,
    beforeEnter: (to, from, next) => {
      ensureAsyncComponentsLoaded(${JSON.stringify(layout || 'Layout')}, ${JSON.stringify(componentName)}).then(next)
    },${_meta ? `\n    meta: ${JSON.stringify(_meta)}` : ''}
  }`

    const dncodedPath = decodeURIComponent(pagePath)
    if (dncodedPath !== pagePath) {
      code += `,
  {
    path: ${JSON.stringify(dncodedPath)},
    redirect: ${JSON.stringify(pagePath)}
  }`
    }

    if (/\/$/.test(pagePath)) {
      code += `,
  {
    path: ${JSON.stringify(pagePath + 'index.html')},
    redirect: ${JSON.stringify(pagePath)}
  }`
    }

    if (regularPath !== pagePath) {
      code += `,
  {
    path: ${JSON.stringify(regularPath)},
    redirect: ${JSON.stringify(pagePath)}
  }`
    }

    return code
  }

  const notFoundRoute = `,
  {
    path: '*',
    component: GlobalLayout
  }`

  return (
    `export const routes = [${pages.map(genRoute).join(',')}${notFoundRoute}\n]`
  )
}
function routesCode ( pages ) { function genRoute ( { path : pagePath , key : componentName , frontmatter : { layout } , regularPath , _meta } ) { let code = ` ${ JSON . stringify ( componentName ) } ${ JSON . stringify ( pagePath ) } ${ JSON . stringify ( layout || 'Layout' ) } ${ JSON . stringify ( componentName ) } ${ _meta ? ` \n ${ JSON . stringify ( _meta ) } ` : '' } ` const dncodedPath = decodeURIComponent ( pagePath ) if ( dncodedPath !== pagePath ) { code += ` ${ JSON . stringify ( dncodedPath ) } ${ JSON . stringify ( pagePath ) } ` } if ( / \/$ / . test ( pagePath ) ) { code += ` ${ JSON . stringify ( pagePath + 'index.html' ) } ${ JSON . stringify ( pagePath ) } ` } if ( regularPath !== pagePath ) { code += ` ${ JSON . stringify ( regularPath ) } ${ JSON . stringify ( pagePath ) } ` } return code } const notFoundRoute = ` ` return ( ` ${ pages . map ( genRoute ) . join ( ',' ) } ${ notFoundRoute } \n ` ) }
Get Vue routes code.
@param {array} pages
@returns {string}
Get Vue routes code .