firebase.json动态更改公用文件夹

时间:2019-03-05 21:52:45

标签: angular firebase firebase-hosting ionic4

我有一个angular7 / ionic4应用程序,具有用于登台和生产的两个环境。

我可以做到

  

离子生成

     

ionic build --prod

这会将应用发布到我在angular.json中设置的不同文件夹中

  

dist / staging

     

dist / prod

我在firebase中也有2个项目,可以部署到每个项目中

  

firebase部署-P登台

     

firebase部署-P默认值

但是在firebase.json中,我只能设置一个托管文件夹,从那里可以拾取文件以发送到firebase:

"hosting": {
    "public": "dist/prod"
}

因此,尽管能够部署到不同的项目,但我似乎无法设置要从哪个文件夹进行部署。

我想要

  

firebase部署-P默认值

从dist / prod部署文件

  

firebase部署-P登台

从dist / staging部署文件

我可以更改firebase.json(或.firebaserc)以设置每个环境/项目要从哪个文件夹部署吗?

1 个答案:

答案 0 :(得分:0)

将站点与本地目标相关联,以便Firebase知道将哪些代码部署到哪里。

$ firebase target:apply hosting  staging  staging_project_name
$ firebase target:apply hosting  prod  production_project_name

然后按如下所示编辑firebase.json文件中的配置:

{
  "hosting": [ {
      "target": "staging", 
      "public": "dist/staging",
      "rewrites": [...] 
    },
    {
      "target": "prod", 
      "public": "dist/prod",
      "rewrites": [...] 
    }
  ]
}

然后您可以如下部署:

$ firebase deploy --only hosting:staging -P staging
$ firebase deploy --only hosting:prod -P default