Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Совместное использование ресурсов проекта на нескольких сайтах

Вы можете настроить один или несколько сайтов Firebase Hosting в одном проекте Firebase. Поскольку все сайты находятся в одном проекте Firebase, все сайты могут получить доступ к другим ресурсам Firebase проекта.

Настроив несколько сайтов хостинга в одном проекте Firebase, вы сможете легче делиться ресурсами Firebase между связанными сайтами и приложениями. Например, если вы настраиваете свой блог, панель администратора и общедоступное приложение как отдельные сайты в одном проекте Firebase, они могут совместно использовать одну и ту же базу данных пользователей Firebase Authentication, но также иметь свои собственные уникальные домены или контент.

Шаг 1 : Обновите версию CLI Firebase

Получите доступ к самым последним функциям Firebase Hosting, обновившись до последней версии Firebase CLI .

Шаг 2 : Добавьте дополнительные сайты

Добавьте дополнительные сайты в проект Firebase прямо со страницы хостинга Firebase . К каждому сайту вы также можете добавить пользовательские домены для обслуживания одного и того же контента и конфигурации для нескольких URL-адресов.

Удалить вторичный сайт

Удалите ненужные сайты прямо со своей страницы Firebase Hosting . Обратите внимание, что вы не можете удалить сайт по умолчанию, имя которого совпадает с идентификатором вашего проекта Firebase.

Шаг 3. Установите цели развертывания для своих сайтов.

Когда у вас есть несколько сайтов и вы запускаете команды развертывания Firebase CLI, CLI нужен способ сообщить, какие параметры следует развернуть на каждом сайте. С помощью целей развертывания вы можете однозначно идентифицировать конкретный сайт по его имени в файле конфигурации firebase.json и в командах командной строки Firebase для тестирования или развертывания на ваших сайтах.

Чтобы создать цель развертывания и применить имя цели к сайту хостинга, выполните следующую команду CLI из корневого каталога вашего проекта:

firebase target:apply hosting TARGET_NAME RESOURCE_NAME 

Где параметры:

  • TARGET_NAME - уникальный идентификатор (который вы сами определили) для сайта хостинга, на который вы развертываете

  • RESOURCE_NAME - имя хостинг-сайта, указанное в вашем проекте Firebase

Например, если вы создали два сайта ( myapp-blog и myapp-app ) в своем проекте Firebase, вы можете применить уникальное целевое имя для каждого сайта (соответственно, blog и app ), выполнив следующие команды:

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

Настройки для целей развертывания хранятся в файле .firebaserc в каталоге вашего проекта, поэтому вам нужно устанавливать цели развертывания только один раз для каждого проекта.

Шаг 4 : Определите конфигурацию хостинга для каждого сайта

Используйте примененное имя цели сайта, когда вы определяете его конфигурацию хостинга в файле firebase.json .

  • Если ваш файл firebase.json определяет конфигурацию для нескольких сайтов, используйте формат массива:

    {
      "hosting": [ {
          "target": "blog",  // "blog" is the applied target name for the Hosting site "myapp-blog"
          "public": "blog/dist",  // contents of this folder are deployed to the site "myapp-blog"
    
          // ...
        },
        {
          "target": "app",  // "app" is the applied target name for the Hosting site "myapp-app"
          "public": "app/dist",  // contents of this folder are deployed to the site "myapp-app"
    
          // ...
    
          "rewrites": [...]  // You can define specific Hosting configurations for each site
        }
      ]
    }
    
  • Если ваш файл firebase.json определяет конфигурацию только для одного сайта, нет необходимости использовать формат массива:

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

Шаг 5. Разверните на своих сайтах или обслуживайте локально

Запустите любую из следующих команд из корневого каталога вашего проекта.

команда Описание
firebase deploy Создает выпуск всех развертываемых ресурсов в каталоге вашего проекта
firebase deploy --only hosting: TARGET_NAME Создает выпуск только ресурсов для указанной цели хостинга
firebase serve Обслуживает ваш проект Firebase локально
firebase serve --only hosting: TARGET_NAME Обслуживает локально только ресурсы для указанной цели хостинга