Firebase App Hosting разработан специально для поддержки разработки современных веб-приложений на основе платформы. Используйте эту страницу как справочник по инструментам и платформам, которые напрямую поддерживает App Hosting , а также как отправную точку для изучения связанных платформ и инструментов.
Веб-фреймворки и App Hosting
App Hosting обеспечивает два широких уровня поддержки современных веб-платформ: предварительно настроенную поддержку сборки и развертывания, а также поддержку на уровне сообщества посредством вкладов с открытым исходным кодом, соответствующих спецификации выходного пакета. В обоих случаях компонент адаптера платформы обеспечивает интеграцию конкретной платформы с App Hosting .
Платформы с предварительно настроенной поддержкой сборки и развертывания.
Благодаря предварительно настроенной поддержке сборки и развертывания Firebase определяет, какую платформу вы используете, проверяя файл package-lock.json
или другой файл блокировки, и оптимизирует процессы сборки и развертывания вашего приложения. Google стремится поддерживать поддержку этих платформ, а команда поддержки Firebase может принимать отчеты о проблемах и запросы функций.
Данный уровень поддержки предоставляется для:
- Next.js
- Угловой
Подробную информацию о конкретных версиях и уровнях поддержки см. в графиках поддержки .
Если вы попытаетесь развернуть приложение Node.js, в котором отсутствует файл блокировки, App Hosting не сможет собрать и запустить ваше приложение. Вы можете создать package-lock.json
, запустив npm install
в корневом каталоге.
Платформы, поддерживаемые сообществом
Помимо Next.js и Angular, App Hosting также поддерживает любую веб-платформу, способную обеспечить выходные данные сборки, соответствующие нашей спецификации выходного пакета . Авторы платформы могут воспользоваться спецификацией выходного пакета, чтобы гарантировать поддержку своей платформы App Hosting . Например, популярная платформа Nuxt поддерживается командой Nitro, которая создала адаптер Firebase , позволяющий развертывать приложения Nuxt на App Hosting .
Если вы хотите увидеть дополнительные платформы, поддерживаемые App Hosting , вы можете создать адаптер платформы или обратиться к сопровождающим платформы, чтобы преобразовать выходные данные сборки в формат App Hosting . Адаптеры Next.js и Angular — хорошие справочные примеры для всех, кто создает адаптер.
Информацию о фреймворках, поддерживаемых сообществом, можно найти на сайте Firebase Open Source . Проблемы и запросы на добавление функций для фреймворков, поддерживаемых сообществом, следует направлять сообществу открытого исходного кода или авторам фреймворков. В некоторых случаях Google может помочь, но сообщество является первой линией поддержки этих адаптеров.
Адаптеры платформы App Hosting
В App Hosting поддержка как предварительно настроенных, так и поддерживаемых сообществом платформ обеспечивается через адаптеры платформ . Адаптеры платформы App Hosting выполняют две ключевые роли:
- Они анализируют ваш исходный код и любые файлы конфигурации, специфичные для платформы (например,
next.config.js
), и генерируют выходной пакет, который может быть обработан остальной частью инфраструктуры App Hosting . - Они запускают команду сборки вашего приложения, чтобы сгенерировать статические ресурсы и создать оптимизированную версию вашего приложения для производства.
Адаптеры платформы создают приложение Node.js с помощью npm run build
, который лучше всего работает со сценариями сборки по умолчанию для каждой платформы: next build
для Next.js и ng build
для Angular. App Hosting будет пытаться выполнить сборку с использованием пользовательских команд сборки, но не может надежно гарантировать успех. Вы можете переопределить сценарии сборки и запуска в apphosting.yaml
.
Исходный код адаптеров Next.js и Angular доступен в firebase-framework-tools .
Среды выполнения для App Hosting
После того как приложение Node.js создано и развернуто с помощью App Hosting , оно запускается в версии Cloud Run . Соответственно, версия среды выполнения вашего приложения должна находиться в диапазоне, поддерживаемом Cloud Run , и диапазоне выбранной вами веб-платформы. Для предварительно настроенной поддержки Angular и Next.js это означает, что поддерживаются следующие версии Node.js:
- Next.js 13.5.x и выше
- Angular 18.2.x и выше
- Node.js 18 и выше
App Hosting не обеспечивает автоматически активную поддержку недавно выпущенных версий платформы. Версии, более новые, чем текущая «активная» версия, будут считаться в состоянии «предварительного просмотра» до тех пор, пока они не будут официально отмечены как «активные» для App Hosting .
App Hosting поддерживает долгосрочную поддержку (LTS) для последней дополнительной версии основного выпуска в течение одного года с момента его активной поддержки при условии, что вы постоянно обновляетесь до последних выпусков исправлений в этой дополнительной версии. Подробную информацию о Next.js и Angular см. в следующих таблицах.
График поддержки Next.js
Версия | Статус | Устаревание |
---|---|---|
13.5.х | лтс | 9 октября 2026 г. |
14.2.х | лтс | 9 октября 2026 г. |
15.0.х | активный | не раньше 9 октября 2025 г. |
15.1.х | активный | не раньше 9 октября 2025 г. |
15.2.х | активный | - |
График поддержки Angular
Версия | Статус | Устаревание |
---|---|---|
18.2.х | лтс | 9 октября 2026 г. |
19.0.х | активный | не раньше 9 октября 2025 г. |
19.1.х | активный | не раньше 9 октября 2025 г. |
19.2.х | активный | - |
Менеджеры пакетов
App Hosting использует Cloud Native Buildpacks для установки зависимостей и сборки приложения с помощью npm, Yarn или pnpm. Другие менеджеры пакетов, такие как JSR, не поддерживаются.
НПМ
- NPM — менеджер пакетов по умолчанию.
- Непроизводственные зависимости удаляются после успешной сборки.
- Вы можете указать раздел версии npm, используя поле
engines.npm
в файлеpackage.json
.
Пряжа
- Вместо этого используется Yarn, когда вы включаете файл
yarn.lock
в свой проект. - Вы можете указать версию пряжи для использования в поле
engines.yarn
илиpackageManager
вашего файлаpackage.json
. - App Hosting поддерживает режим Yarn2 PnP.
Пнпм
- Вместо этого используется Pnpm, когда вы включаете файл
pnpm-lock.yaml
в свой проект. - Вы можете указать версию pnpm в поле
engines.pnpm
илиpackageManager
вашего файлаpackage.json
. - Рабочий пример см. в примере sample-node-pnpm . приложение.
Монорепозитории для App Hosting
App Hosting поддерживает приложения на базе Nx. Подробные инструкции см. в разделе Использование монорепозиториев с App Hosting .
Поддерживаются следующие версии Nx:
Версия | Статус | Устаревание |
---|---|---|
19.5.х | обслуживание | 9 октября 2025 г. |
19.6.х | обслуживание | 9 октября 2025 г. |
19.7.х | обслуживание | 9 октября 2025 г. |
19.8.х | лтс | 2026-10-9 |
20.0.х | активный | не раньше 9 октября 2025 г. |
20.1.х | активный | не раньше 9 октября 2025 г. |
20.2.х | активный | не раньше 9 октября 2025 г. |
20.3.х | активный | не раньше 9 октября 2025 г. |
20.4.х | активный | не раньше 9 октября 2025 г. |
20.5.х | активный | не раньше 9 октября 2025 г. |
20.6.х | активный | не раньше 9 октября 2025 г. |
20.7.х | активный | — |
Если вам нужна поддержка других типов рабочих пространств монорепозитория, сообщите нам об этом на Firebase UserVoice .