实验性选项 serverComponentsHmrCache 允许您在本地开发中,跨热模块替换 (HMR) 刷新时缓存服务器组件中的 fetch 响应。这可以带来更快的响应,并降低计费 API 调用的成本。
默认情况下,HMR 缓存适用于所有 fetch 请求,包括那些带有 cache: 'no-store' 选项的请求。这意味着未缓存的请求在 HMR 刷新之间不会显示最新数据。但是,该缓存会在导航或整页重新加载时清除。
您可以通过在 next.config.js 文件中将 serverComponentsHmrCache 设置为 false 来禁用 HMR 缓存:
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
experimental: {
serverComponentsHmrCache: false, // defaults to true
},
}
export default nextConfig/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsHmrCache: false, // defaults to true
},
}
module.exports = nextConfig须知: 为了更好的可观察性,我们建议使用
logging.fetches选项,该选项会在开发期间在控制台中记录fetch缓存命中和未命中情况。