Я использую реагирующую статику (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:
/ с / $ {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
для каждого события. Пока что мой пример, кажется, работает, так что это скорее вопрос лучшей практики.