Мое приложение nuxtjs содержит страницу с динамическим URL (на самом деле страница имеет два параметра event-slug
и event-id
), затем в методе asyncData
этой страницы я извлекаю эти параметры из URL и использую для запроса axios
.Эта страница открывается, когда я нажимаю на один элемент в списке событий (на другой странице events-list
).Когда я запускаю команду nuxt generate
, я сталкиваюсь с ошибкой, потому что эти параметры недоступны при создании статических страниц.Есть ли какое-нибудь решение?
РЕШЕНИЕ (на случай, если кому-то понадобится позже):
Предположим, у меня есть /event/:slug/:id
динамический маршрут в моем приложении Nuxt и мне нужно создатьмаршрут для всех событий, которые я получаю от бэкэнда, добавьте этот код в nuxt.config.js
:
generate: {
routes: () => {
axios.get('endpoint to get list of events')
.then((response) => {
// assume we received array of events in response.data
let events = response.data;
return events.map((event) => {
// assume that my Nuxt dynamic route is /event/:slug/:id
return `/event/${event.slug}/${event.id}`
})
})
}
},