在把 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 的方式来加载页面数据,从而避免在某些部署环境中出现缺失或无法访问该资源导致的错误。参考
(注:文档内容由 Copilot 生成)