Generate sitemap.xml by vue-router configuration
npm i --save vue-router-sitemap
// router.js
import VueRouter from 'vue-router';
export const router: VueRouter = new VueRouter(
  {
    routes: [
      {
        path:      '/',
        name:      'index',
        component: Index,
      },
    ],
  },
);// sitemapMiddleware.js
import VueRouterSitemap      from 'vue-router-sitemap';
import path                  from 'path';
import { router }            from 'router';
...
export const sitemapMiddleware = () => {
  return (req, res) => {
    res.set('Content-Type', 'application/xml');
    const staticSitemap = path.resolve('dist/static', 'sitemap.xml');
    const filterConfig = {
      isValid: false,
      rules: [
        /\/example-page/,
        /\*/,
      ],
    };
    new VueRouterSitemap(router).filterPaths(filterConfig).build('http://example.com').save(staticSitemap);
    return res.sendFile(staticSitemap);
  };
};
app.get('/sitemap.xml', sitemapMiddleware());
...MIT