Как мне использовать response-static для построения маршрутов, которые не имеют никакого отношения друг к другу?
Я использую response-static ( https://github.com/nozzle/react-static) для создания в основном статических сайтов, которые имеют некоторый динамический контент после их рендеринга. Пока что это сработало очень хорошо и достигло моей цели.
У меня есть вопрос о настройке файла project/static.config для наилучшего удовлетворения моих потребностей. У нас есть тысячи сайтов, позволяющих называть их "событиями", которые предоставляются пользователям, когда они запрашивают URL определенного события. Эти события не имеют никакого отношения друг к другу или какому-либо родительскому сайту, поэтому при вводе URL-адреса события и его загрузки пользователь никогда не уйдет со страницы этого события.
Вот как выглядит мой getRoutes():
getRoutes: async () => {
const { data: events } = await axios.post(api + '/mobile/events-list', {
offset: 1
})
return [
{
path: '/',
getData: () => ({
events,
}),
children: events.map(event => ({
path:
/c/${event.ID},
component: 'src/containers/EventRoute',
localProps: {event},
getData: () => ({
event,
}),
}))
},
{
path: '/404',
component: 'src/404',
},
]
}
Я должен включить корневой путь, который получает события и свойство children, чтобы построить каждую страницу события.
Мои вопросы:
- При беге
npm run build
Файлы index.html/routeInfo.json создаются на корневом уровне с данными по каждому событию. Эти файлы становятся больше с большим количеством событий. Я удаляю эти файлы после сборки, и каждое событие все еще загружается / работает без этих родительских файлов. Это нормально / есть лучший способ настроить файл static.config, чтобы эти файлы вообще не создавались? - Имеет ли это решение смысл с response-static или я должен создать каждую страницу события как свой собственный сайт с его собственным родительским каталогом /js-файлами? Так что потенциально может быть внешний скрипт, который изменяет static.config для каждого события и запускает
npm start build
для каждого события. Пока что мой пример, кажется, работает, так что это скорее вопрос лучшей практики.