정적 페이지를 "만료된 페이지"로 올바르게 변환하는 방법은 무엇입니까?
P粉930448030
P粉930448030 2023-09-11 19:35:30
0
1
508

정적인 프로모션 페이지가 많이 있습니다. 하지만 프로모션이 만료된 경우 만료 페이지를 탐색/표시해야 합니다. NextJS를 사용하여 정적 페이지에서 이를 수행하는 올바른 방법은 무엇입니까?

시도 1: getStaticProps에서 만료되었는지 확인하세요. 문제는 재검증이 600초마다 발생한다는 것입니다. 따라서 이는 정확한 12시가 아닌 오전 12시 28분에 발생할 수 있습니다(배포 시기에 따라 다름).

그래서 만료된 페이지가 제때에 표시되지 않습니다. 이 문제를 해결하는 방법? 또는 페이지를 변경하는 "올바른" 방법을 구현하십시오.

export const getStaticPaths = async () => { const pageSlugs = await api.getAllSlugs(); const paths = pageSlugs.map((slug) => (params: {promo: slug}) ); return { paths, fallback: "blocking" }; }; export async function getStaticProps({ preview = false, params, previewData }) { const page = await api.getSlug(params.promo, { preview, enviroment: previewData?.enviroment }); const isExpired = checkIfExpired(page.promoStart, page.promoEnd); const expiredPage = isExpired ? await api.getPage("expired-page", { preview, enviroment: previewData?.enviroment }) : null; return { props: { page, isExpired, expiredPage, }, revalidate: 600 }; }

P粉930448030
P粉930448030

모든 응답 (1)
P粉144705065

재검증 시간을 동적으로 계산할 수 있습니다:

으아악

여기에서는promoEndpromoStart가 날짜 개체라고 가정하지만 필요한 경우 이를 조정할 수 있습니다. 또한 서버 시간이 날짜 개체에서 사용하는 시간대와 일치하는지 확인하세요.

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!