yarkov
@yarkov
Проект "Жизнь после смерти" - lifeafterdeath.ru

Как в Nuxt.js генерировать динамический sitemap.xml?

В nuxt.config.js с помощью модуля @nuxtjs/sitemap можно сделать генерацию карты сайта.
Помимо роутов сайта у меня некоторые страницы, которые по ID можно списком получить из API и их нужно добавить в карту сайта.
Есть вот такой способ:
// nuxt.config.js
 
const axios = require('axios')
 
{
  sitemap: {
    routes: async () => {
      const { data } = await axios.get('/api/pages') // вернёт список страниц с флагом <code>published: true</code>
      return data.map((user) => `/users/${user.username}`)
    }
  }
}

Но дело в том, что пользователь может у этих страниц в профиле менять флаг published: true/false, который отвечает за доступность для всех или только для автора.
В случае если published: false надо убирать эту страницу из карты сайта. Но всё дело в том, что генерация видимо выполняется один раз при запуске проекта.

Можно это как-то обойти силами Nuxt.js? Кто-то сталкивался?
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
yarkov
@yarkov Автор вопроса
Проект "Жизнь после смерти" - lifeafterdeath.ru
Поспрашивал в Телеграм чатиках Nuxt и Vue. Никто не знает ))
Пришлось брать express-sitemap-xml и генерировать сайтмап бэкендом. А в Nginx просто прописал нужный location, чтобы Nuxt не срабатывал.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
23 окт. 2020, в 11:53
240000 руб./за проект
23 окт. 2020, в 11:50
3000 руб./за проект
23 окт. 2020, в 11:48
3000 руб./за проект