work··
Nuxt Cannot load payload /_payload.json:ssr:false 部署后修复
Nuxt 关闭 SSR(ssr: false)部署后出现 Cannot load payload /_payload.json 或 payload 404。本文说明原因与 payloadExtraction 等相关配置修复。
在把 Nuxt 项目设置为非 SSR(例如 ssr: false)并部署到某些托管环境后,可能会在运行时看到报错:
Cannot load payload /_payload.json
原因
这是由 Nuxt 的 payload 提取(payload extraction)机制在一些部署 / 运行时场景下与静态资源访问不兼容导致的(例如当运行时无法正确提供或解析 /_payload.json)。
解决方法
在 nuxt.config.ts 中关闭实验性的 payload 提取:
export default defineNuxtConfig({
ssr: false,
experimental: {
// 关闭 payload 提取以避免运行时去加载 /_payload.json
payloadExtraction: false
}
})
说明
- 将
payloadExtraction设置为false后,Nuxt 不会采用提取并生成/_payload.json的方式来加载页面数据,从而避免在某些部署环境中出现缺失或无法访问该资源导致的错误。 - 如果你的项目仍需 SSR 或静态预渲染场景,请谨慎评估该设置的影响。
参考
(注:文档内容由 Copilot 生成)