Firebase预发布环境配置求助:需稳定URL用于Chrome扩展测试
更优的Firebase预发布环境配置方案
针对你需要稳定预发布URL、不想额外维护独立新项目的需求,推荐两种更简洁的配置方案:
方案1:同一项目下使用自定义子域名+多配置文件
- 在Firebase控制台的Hosting模块,给当前项目添加自定义子域名(比如
staging.yourdomain.com),完成DNS验证后即可绑定使用 - 本地创建
firebase.staging.json配置文件,与主firebase.json区分开:比如指定预发布环境的public目录、重写规则等 - 部署预发布环境时执行命令:
firebase deploy --only hosting --config firebase.staging.json - 这样就能获得稳定的
staging.yourdomain.com作为预发布URL,本地仅需切换配置文件就能在生产/预发布环境间切换,无需维护两个独立项目
方案2:同一项目下启用Hosting多站点功能
- 在Firebase控制台的Hosting页面,点击「添加站点」创建预发布站点(比如命名
your-project-staging) - 部署时指定目标站点:
firebase deploy --only hosting:your-project-staging - 这个站点默认会生成稳定的二级域名(比如
your-project-staging.web.app),也可以绑定自定义域名 - 本地
firebase.json可同时配置多个站点参数,示例:
{ "hosting": [ { "target": "production", "public": "build", "rewrites": [...] }, { "target": "staging", "public": "staging-build", "rewrites": [...] } ] }
- 部署时通过
--target staging指定即可,比单独新建项目节省大量本地配置成本
额外小技巧
如果不想硬编码URL到扩展里,可在Svelte项目中用环境变量管理端点:比如在.env.staging里设置VITE_FIREBASE_URL=https://staging.yourdomain.com,构建预发布版本时加载这个环境变量,后续URL变动只需修改环境变量,无需改动代码。
内容的提问来源于stack exchange,提问作者Avi
相关产品推荐
相关产品推荐

