#vue.js #nuxt.js #sitemap #sitemap.xml
Вопрос:
Контекст:
Я использую модуль Nuxt Sitemap и пытаюсь сгенерировать или создать свои маршруты dynamics (продукты, которые у меня есть в моей БД). Вот моя карта сайта на моем nuxt.config.js
sitemap: {
hostname: process.env.PH_WEB_APP_BASE_URL || 'http://localhost:3000/',
gzip: true,
exclude: ExcludedPaths,
cacheTime: 1000 * 60 * 15,
defaults: {
changefreq: 'daily',
priority: 1,
lastmod: new Date()
},
routes: () => {
const baseUrl = process.env.PH_WEB_APP_BASE_URL || 'http://localhost:3000/';
return axios.get(`${baseUrl}api/sitemap-slugs/`);
}
},
Конечная точка ${baseUrl}api/sitemap-slugs/
возвращает массив slugs [‘slug1′,’slug2’]
Ожидаемый результат
Мой sitemap.xml страница со всеми моими статическими маршрутами и динамическими маршрутами.
ОШИБКА
Ошибка на моем http://localhost:3000/sitemap.xml .
Надеюсь, я хорошо объяснил ситуацию и себя
Комментарии:
1. Может быть, попробуйте
await
это передreturn
.2. @kissu спасибо, но нет, это может быть улучшением (я тоже пробовал раньше), но ошибка одинакова с или без
async, await
3. Возможно, тип возвращаемого значения не является массивом
Ответ №1:
У меня была такая же проблема. Вы должны использовать свойство data ответа axios, если оно возвращает массив строк.
routes: async () => {
const result = await axios.get('https://www.example.com/api/blog-sitemap')
return result.data;
}