Compartilhar os recursos de um projeto em vários sites

Você pode configurar um ou mais sites do Firebase Hosting em um único projeto do Firebase. Cada site hospeda a própria coleção de ativos estáticos, tem a própria configuração de hospedagem e pode conter um ou mais domínios associados. Como todos os sites estão no mesmo projeto do Firebase, eles podem acessar os outros recursos do Firebase do projeto.

Ao definir vários sites do Hosting no mesmo projeto do Firebase, você facilita o compartilhamento dos recursos do Firebase entre sites e aplicativos relacionados. Por exemplo, se o seu blog, painel de administração e aplicativo público estiverem configurados como sites no mesmo projeto do Firebase, todos poderão ter o mesmo banco de dados de usuários do Firebase Auth, além dos próprios domínios ou ativos estáticos exclusivos.

Adicionar outros sites

Adicione outros sites a um projeto do Firebase diretamente da página do Firebase Hosting. Para cada site, você também pode adicionar domínios personalizados para veicular o mesmo conteúdo e configuração em vários URLs.

Excluir um site secundário

Exclua sites indesejados diretamente da página do Firebase Hosting. Não é possível excluir o site padrão, que tem o mesmo nome do projeto do Firebase.

Configurar destinos de implantação para seus sites

Quando você tem vários sites e executa os comandos de implantação da Firebase CLI, a interface da linha de comando precisa saber como informar quais configurações devem ser implantadas em cada site. Com os destinos de implantação, você pode identificar um site específico com exclusividade por meio do respectivo target-name no seu arquivo de configuração firebase.json e nos seus comandos da Firebase CLI.

Para criar um destino de implantação e aplicar um target-name a um site do Hosting, execute o seguinte comando da CLI usando a raiz do diretório do seu projeto:

firebase target:apply hosting target-name resource-name

Em que os parâmetros são:

  • target-name: um identificador único (definido por você) para o site do Hosting em que as configurações serão implantadas

  • resource-name: o nome do site do Hosting conforme listado no seu projeto do Firebase

Por exemplo, se você criou dois sites (myapp-blog e myapp-app) no seu projeto do Firebase, poderá aplicar um target-name único a cada site (blog e app, respectivamente) ao executar os comandos a seguir:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

As configurações de destino de implantação são armazenadas no arquivo .firebaserc no diretório do seu projeto. Dessa forma, você só precisa configurar os destinos de implementação uma vez por projeto.

Definir a configuração de hospedagem para cada site

Use o target-name de um site ao definir a configuração de hospedagem no seu arquivo firebase.json.

  • Se o arquivo firebase.json definir a configuração para vários outros sites, use um formato de matriz:

    {
      "hosting": [ {
          "target": "blog", // "blog" is the applied target-name for the Hosting site myapp-blog.
          "public": "blog/dist"
        },
        {
          "target": "app", // "app" is the applied target-name for the Hosting site myapp-app.
          "public": "app/dist",
          "rewrites": [...] // You can define specific hosting configurations for each site.
        }
      ]
    }
    
  • Se o arquivo firebase.json definir a configuração para apenas um site, não será necessário usar um formato de matriz:

    {
      "hosting": {
          "target": "blog",
          "public": "dist"
          "rewrites": [...]
      }
    }
    

Implantar nos seus sites ou disponibilizar localmente

Execute qualquer um dos comandos a seguir da raiz do diretório do seu projeto.

Comando Descrição
firebase deploy Cria uma versão de todos os recursos implantáveis no diretório do seu projeto
firebase deploy --only hosting:target-name Cria uma liberação apenas dos recursos para o destino especificado do Hosting
firebase serve Disponibiliza seu projeto do Firebase localmente
firebase serve --only hosting:target-name Disponibiliza localmente apenas os recursos para o destino especificado do Hosting

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.