Next-PWA离线模式下无限刷新问题求助
Next-PWA + Next-translate + 多租户中间件的离线无限刷新问题
背景与技术栈
- 技术版本:
next-pwa@5.6.0、next@12.2.0、next-translate@1.4.0 - 业务场景:通过Next.js中间件实现多租户功能,将用户请求重写至对应组织页面,简化后的中间件代码如下:
export async function middleware(req: NextRequest) { const url = req.nextUrl.clone(); url.pathname = `/organizations/${viewport}/${req.headers.get('host')}${url.pathname}`; return NextResponse.rewrite(url); }
- 核心需求:缓存
viewport、组织(host)及路径相关页面资源 - Next-translate默认行为:当请求未指定语言时,自动将请求重定向至
/default语言路径
离线模式异常表现
- 已完成根页面的缓存,但离线状态下,页面仍持续请求
/default页面,最终引发无限刷新循环 - 已尝试的无效方案:
- 在PWA配置中设置
dynamicStartUrlRedirect: '/default' - 通过
additionalManifestEntries配置确保/default页面被缓存,但缓存的/default页面并未被实际调用
- 在PWA配置中设置
- 在线与离线模式下的请求详情、缓存页面截图已留存记录
内容的提问来源于stack exchange,提问作者Navid Nourani
相关产品推荐
相关产品推荐

