You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt SPA部署至Firebase Hosting如何从__/firebase/init.js读取配置

Nuxt SPA 完全可以实现从Firebase Hosting自带的/__/firebase/init.js动态读取配置,不需要构建阶段硬编码参数,你当前的报错是配置规则冲突导致的,按以下步骤修正即可:

1. 修正nuxt.config.js配置

  • 移除config字段下的所有配置项:当onFirebaseHosting: true开启时,模块会自动跳过构建阶段的静态配置,优先读取Firebase Hosting注入的动态配置,你预留的空production配置会被模块优先读取,导致配置缺失报错。
  • 新增firebaseVersion字段:填写与你项目依赖中firebase包版本完全一致的版本号,模块会用该版本号拼接Firebase Hosting内置SDK的加载路径。

修正后的参考配置:

[
  '@nuxtjs/firebase',
  {
    onFirebaseHosting: true,
    // 替换为你项目实际安装的firebase版本号,例如9.23.0
    firebaseVersion: 'x.x.x',
    services: {
      auth: {
        persistent: 'local',
        initialize: {
          onAuthStateChangedAction: 'onAuthStateChanged',
        },
        ssr: false,
      },
    },
  },
]

2. 修正firebase.json重写规则

确保Firebase Hosting不会把/__/开头的系统路径重写到SPA的index.html,否则init.js会返回404无法加载:

{
  "hosting": {
    "public": "dist",
    "rewrites": [
      {
        "source": "!/__/**",
        "destination": "/index.html"
      }
    ]
  }
}

3. 额外注意事项

  • 不要开启customEnv: true配置,该配置会强制模块读取环境变量的静态配置,跳过Firebase Hosting动态配置加载逻辑。
  • 如果你使用了Service Worker/PWA功能,确保/__/开头的路径被添加到忽略缓存列表,避免缓存旧的配置内容。

内容的提问来源于stack exchange,提问作者Yousof K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:48:04