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

我想在 vue js 项目中根据路由生成 sitemap 但我找不到任何解决方案? 我在 npm 中找到了 vue-router-sitemap 包,但它没有提到任何示例,我完全糊涂了?解决方案是什么? 无论如何,有什么方法可以访问另一个普通 js 文件中的路由对象吗? 这是一个例子,但应用程序是什么!我该如何使用这些?

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

最佳答案

这个中间件应该放在 vue.config.js 中。

https://stackoverflow.com/questions/61403509/

相关文章:

ios - 在 iPhone/iOS 的浏览器上录制视频 (MediaRecorder)

python - 无法安装最新版本的 pandas (1.0.3)

java - 节俭的Java : Cannot use reserved language keyw

javascript - NextJs 获取下一页点击项的内容

java - 获取对 java LinkedList 中最近添加的节点的引用

c# - 找不到 Xamarin.Forms 资源文件

php - Drupal 8.8.5 上奇怪的文件/文件夹权限错误

javascript - Ajax 多重上传

python - 如何访问通过 Django 表单上传的媒体文件?

google-cloud-platform - 将日志严重性与 Google Compute Eng