res.revalidate() 不是 Nextjs 的 NextResponse 中用于按需 ISR 的函数

sut*_*777 4 typescript next.js

NextResponse 没有 res.revalidate('/'). 我正在使用,v12.2.5但它是从v12.2.0. 我想在打字稿中使用按需 ISR。

https://nextjs.org/blog/next-12-2#on-demand-incremental-static-regenesis-stable

export default async function handler(req: NextRequest, res: NextResponse) {
    try {

        await res.revalidate('/');
        return res.json({ revalidated: true });

    } catch (err) {
        console.error(err);
        return res.status(500).send('Error revalidating');
    }
}

Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

sut*_*777 5

我们必须使用and来代替NextRequestand 。NextResponseNextApiRequestNextApiResponse

export default async function handler(req: NextApiRequest, res: NextApiResponse) {
    try {

        await res.revalidate('/');
        return res.json({ revalidated: true });

    } catch (err) {
        return res.status(500).send('Error revalidating');
    }
}

Run Code Online (Sandbox Code Playgroud)