Фреймворки и инструменты для App Hosting

Firebase App Hosting специально разработан для поддержки современных веб-приложений, ориентированных на фреймворки. На этой странице перечислены инструменты и фреймворки, которые напрямую поддерживает App Hosting, а также приведены ссылки на ресурсы, где можно узнать больше о связанных фреймворках и инструментах.

Веб-фреймворки и App Hosting

App Hosting предлагает два уровня поддержки современных веб-фреймворков: готовые к использованию инструменты сборки и развертывания, а также поддержку сообщества с помощью открытого исходного кода, соответствующего спецификации пакета выходных данных. В обоих случаях компонент адаптера фреймворка позволяет интегрировать определенный фреймворк с App Hosting.

Фреймворки с предварительно настроенной поддержкой сборки и развертывания

Благодаря встроенной поддержке сборки и развертывания Firebase определяет, какой фреймворк вы используете, анализируя файл package-lock.json или другой файл блокировки, и оптимизирует процессы сборки и развертывания для вашего приложения. Google стремится поддерживать эти фреймворки, и команда поддержки Firebase может принимать сообщения о проблемах и запросы функций.

Этот уровень поддержки предоставляется для:

  • Next.js;
  • Angular

Подробнее о графике поддержки…

Если вы попытаетесь развернуть приложение 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 доступен в apphosting-adapters.

Время выполнения для App Hosting

После того как App Hosting создаст и развернет приложение Node.js, оно будет работать в редакции Cloud Run. Таким образом, версия среды выполнения для вашего приложения должна входить в поддерживаемый диапазон Cloud Run и диапазон выбранного вами веб-фреймворка. Для предварительно настроенной поддержки Angular и Next.js это означает, что поддерживаются следующие версии фреймворка и Node.js:

  • Next.js 13.5.x и более поздние версии
  • Angular 18.2.x и более поздних версий
  • Node.js 22 и более поздние версии

App Hosting не предоставляет активную поддержку для новых версий фреймворков автоматически. Более новые версии будут считаться предварительными, пока не будут официально отмечены как активные для App Hosting.

App Hosting поддерживает долгосрочную поддержку (LTS) для последней промежуточной версии основного выпуска в течение одного года с момента окончания срока поддержки при условии, что вы регулярно устанавливаете последние исправления в рамках этой промежуточной версии. Подробная информация о Next.js и Angular приведена в таблицах ниже.

График поддержки Next.js

Версия Статус Прежней версии
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x lts 2027-10-9
15.1.x lts 2027-10-9
15.2.x активно не ранее 09.10.2026

График поддержки Angular

Версия Статус Прежней версии
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x активно -

Автоматическое обновление основного изображения

Функция автоматического обновления базового образа (ABIU) позволяет автоматически применять исправления безопасности к базовой среде выполнения без необходимости запускать развертывание нового приложения.

App Hosting по умолчанию включает ABIU для новых серверных частей, если соблюдены следующие требования:

  • Версии среды выполнения. Чтобы использовать ABIU, необходимо указать версию среды выполнения (например, nodejs22 или nodejs24). App Hosting поддерживает четные версии Node.js, как и Cloud Run.
  • Соответствие package.json. Версия Node, выбранная для App Hosting, должна быть совместима с версией, указанной в поле engines файла package.json. Если версии не совпадают, во время сборки возникнет ошибка от Cloud Build. При каждом изменении поля engines обязательно обновляйте среду выполнения на сервере перед развертыванием.

Как отключить ABIU

Если вы не хотите использовать ABIU, отключите его во время регистрации или выберите Не указано в качестве времени выполнения в консоли Firebase. Если используется версия nodejs по умолчанию, ABIU автоматически отключается.

Управление версиями среды выполнения

Посмотреть и изменить версию среды выполнения и предпочтительный ABIU для серверной части можно в любое время на вкладке Настройки на панели управления App Hosting. Однако помните, что изменение версии среды выполнения может привести к сбоям в работе приложения, если новая версия несовместима с вашим кодом.

У версий среды выполнения есть срок поддержки. Важно поддерживать актуальность среды выполнения, чтобы избежать несовместимости:

  • Устаревшие среды выполнения. Если выбранная вами среда выполнения станет устаревшей, ваше приложение, как правило, продолжит работать. В консоли появится предупреждение. Рекомендуем как можно скорее перейти на более новую версию. Подробнее о жизненном цикле среды выполнения рассказывается в документации по Cloud Run.
  • Выведенные из эксплуатации среды выполнения. Такие среды выполнения полностью не поддерживаются. Вы не сможете создавать новые сборки или серверные части, используя версию, поддержка которой прекращена. При попытке сделать это возникнет ошибка сборки. Развертывания, работающие на устаревших версиях, могут перестать работать, и Cloud Run оставляет за собой право удалить их.

Полный список поддерживаемых, устаревших и отключенных версий Node приведен в документации по поддержке среды выполнения Cloud Run. Подробнее о том, Cloud Runкак работают обновления базовых образов…

Менеджеры пакетов

App Hosting использует Cloud Native Buildpacks для установки зависимостей и сборки приложения с помощью npm, yarn или pnpm. Другие менеджеры пакетов, например JSR, не поддерживаются.

NPM

  • NPM – менеджер пакетов по умолчанию.
  • После успешной сборки удаляются зависимости, не относящиеся к рабочей версии.
  • Чтобы указать раздел версии npm, используйте поле engines.npm в файле package.json.

Пряжа

  • Если в проекте есть файл yarn.lock, вместо него используется Yarn.
  • Вы можете указать версию Yarn, которую нужно использовать, в поле engines.yarn или packageManager файла package.json.
  • App Hosting поддерживает режим Yarn2 PnP.

Pnpm

  • Pnpm используется, если вы добавите файл pnpm-lock.yaml в проект.
  • Вы можете указать версию pnpm в поле engines.pnpm или packageManager файла package.json.
  • Рабочий пример можно найти в приложении sample-node-pnpm.

Монорепозитории для App Hosting

App Hosting поддерживает приложения Nx и Turborepo monorepo. Подробные инструкции приведены в статье Как использовать монорепозитории с App Hosting.

Поддерживаются следующие версии Nx:

Версия Статус Прежней версии
20.8.x lts не ранее 2027-10-9

Если вам нужна поддержка других типов рабочих областей монорепозитория, сообщите нам об этом на странице Firebase UserVoice.