40818419

Vue router sitemap

Module to generate a sitemap for vue-router configuration

Version Version: 0.0.4 Version Updated: 12/02/2018 By: 40818419 License: MIT

DownloadsLast30Days: 1.2k

https://github.com/40818419/vue-router-sitemap

npm i vue-router-sitemap
yarn add vue-router-sitemap

vue-router-sitemap

Generate sitemap.xml by vue-router configuration

Install

npm i --save vue-router-sitemap

Example usage

// 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());
...

License

MIT

Categories: UI UtilitiesRouting