vue js项目中的动态站点地图生成器

时间:2020-04-24 07:44:44

标签: vue.js sitemap

我想基于vue js项目中的路由生成sitemap,但是我找不到任何解决方案? 我在npm中发现了vue-router-sitemap软件包,但没有提及任何示例,我完全感到困惑吗?解决方案是什么? 无论如何,有什么方法可以访问另一个普通js文件中的route对象? 这是最重要的部分,但应用程序是什么!我该如何使用这些?

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

1 个答案:

答案 0 :(得分:0)

此中间件应放在vue.config.js中。