Следует ли использовать NextJS getStaticProps для обслуживания веб-приложения, созданного пользователем?
Исходный вопрос был размещен в обсуждении Github. Но пока никто не ответил на вопрос. Так что попробуем здесь удачи.
Контекст
Я пытаюсь создать платформу (также известную как web-2.0) веб-сайт, на котором пользователи будут создавать большую часть контента, например, как Ebay. Я решил использоватьuseSWR
для получения пользовательских данных после загрузки страницы. Теперь я выбираю междуgetStaticProps
а также getServerSideProps
для загрузки кэшируемых и пригодных для SEO данных скелета страницы.
getStaticProps
генерирует файлы HTML и JSON, которые для повышения производительности могут быть кэшированы CDN.
Из документа не уточняется, как именно getStaticProps
с CDN должны обслуживаться в продакшене. Мне интересно, относится ли это только к чисто статическим веб-страницам, подобным блогам, которые не используютfallback
ни regeneration
. У меня такое ощущение чтоgetServerSideProps
с CDN перед сервером / лямбдой может быть более простой и производительной архитектурой кеширования.
Вопрос
Если NextJS getStaticProps
с откатом и регенерацией для обслуживания веб-приложения с пользовательским контентом?
Чтобы получить ответ на этот вопрос, я считаю, что сначала мне нужно понять несколько вещей:
То, чего я не знаю и не могу найти соответствующую документацию
- Как именно страницы с
getStaticProps
, резервное копирование и регенерация должны обслуживаться с помощью CDN, как указано выше? - Должны ли сетевые запросы всегда проходить через NextJ при использовании отката? Есть ли примеры размещения CDN предварительно отрисованных страниц перед сервером / лямбдой, поддерживая при этом
fallback
®en
? Моя идея состоит в том, чтобы избежать обращений к серверу и сэкономить еще больше времени и ресурсов при обработке предварительно отрисованной страницы. - Делает
fallback
а такжеregeneration
поддерживать сохранение вновь сгенерированных HTML и JSON в удаленном хранилище, таком как S3, и делать чтение из него NextJS? - Если ответ отрицательный на вопрос выше, когда без сервера, скажем, Lambda, как он повторно использует вновь сгенерированные файлы? Он полагается на нехолодную память / состояние контейнера лямбда? При использовании серверов, могу ли я поделиться вновь созданными артефактами между серверами?
Я мог пропустить некоторые документы. Мы будем благодарны за любые подсказки, ссылки или исправления.
Заранее спасибо =]
Обновить
Я нашел дополнительную информацию, как показано ниже
- Бессерверная архитектура NextJs curret
- Бессерверный RFC NextJs при откате
- NextJs RFC по инкрементной статической регенерации
Что касается оставшихся вопросов, я поднял их на NextJS в этом посте.