Есть ли способ узнать, выполняется ли повторная проверка по запросу в Next.js на Vercel?

На сайте компании, в которой я работаю, Next.js работает на Vercel. Контент управляется в Sanity.io, и мы используем их кешированный API (обслуживаемый через CDN) для получения контента. Исключение составляет процесс сборки, когда мы вызываем live API, чтобы обеспечить получение самого актуального контента. Чтобы справиться с этим конкретным случаем, CDN включается из-за отсутствия env var. И это отлично работает.

Однако у нас есть другой сценарий, который не работает должным образом: повторная проверка по требованию . Похоже,CIпеременная не выставляется во время повторной проверки. Затем, поскольку изменение содержимого было только что выполнено, а ответ API все еще кэшируется, повторная проверка показывает устаревшее содержимое.

Итак, есть ли способ узнать, выполняется ли повторная проверка по запросу в Next.js на Vercel? Итак, я мог бы вызвать живой API для отображения страницы во время повторной проверки?

РЕДАКТИРОВАТЬ

На всякий случай вот конфигурация, которую я использую для настройки клиента Sanity:

      export const config: ClientConfig = {
  dataset: process.env.NEXT_PUBLIC_SANITY_DATASET || "production",
  projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID || "",
  apiVersion: "2022-01-05",
  useCdn: !process.env.CI,
  // Build steps (CI) don't use CDN to make sure it pulls the latest data from
  // the (live) Sanity API.
};

Я пытался добавить новое условие в пару сprocess.env.CIпеременная.

0 ответов

Другие вопросы по тегам