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 20 и выше
App Hosting не предоставляет автоматически активную поддержку для новых версий фреймворка. Версии, более новые, чем наша текущая «активная» версия, будут считаться «предварительной» версией до тех пор, пока не будут официально помечены как «активные» для App Hosting .
App Hosting поддерживает долгосрочную поддержку (LTS) для последней минорной версии основного релиза в течение одного года с момента начала активной поддержки при условии постоянного обновления до последних патчей в рамках этой минорной версии. Подробную информацию для Next.js и Angular см. в следующих таблицах.
график поддержки Next.js
| Версия | Статус | Амортизация |
|---|---|---|
| 13.5.x | лтс | 2026-10-9 |
| 14.2.x | лтс | 2026-10-9 |
| 15.0.x | активный | не раньше 9 октября 2025 г. |
| 15.1.x | активный | не раньше 9 октября 2025 г. |
| 15.2.x | активный | - |
график поддержки Angular
| Версия | Статус | Амортизация |
|---|---|---|
| 18.2.x | лтс | 2026-10-9 |
| 19.0.x | активный | не раньше 9 октября 2025 г. |
| 19.1.x | активный | не раньше 9 октября 2025 г. |
| 19.2.x | активный | - |
менеджеры по доставке посылок
Для установки зависимостей и сборки App Hosting используется Cloud Native Buildpacks, а сборка осуществляется с помощью npm, yarn или pnpm. Другие менеджеры пакетов, такие как JSR, не поддерживаются.
НПМ
- NPM — это менеджер пакетов по умолчанию.
- После успешной сборки удаляются зависимости, не относящиеся к производственной среде.
- Вы можете указать раздел версии npm, используя поле
engines.npmв файлеpackage.json.
Пряжа
- Вместо этого используется Yarn, если вы включите файл
yarn.lockв свой проект. - Версию Yarn можно указать в поле
engines.yarnилиpackageManagerфайлаpackage.json. - App Hosting поддерживает режим Plug and Play Yarn2.
Pnpm
- Вместо этого используется Pnpm, если вы включите файл
pnpm-lock.yamlв свой проект. - Версию pnpm можно указать в поле
engines.pnpmилиpackageManagerфайлаpackage.json. - Рабочий пример можно найти в файле sample-node-pnpm.app .
Монорепозитории для App Hosting
App Hosting поддерживает приложения на основе Nx. Подробные инструкции см. в разделе « Использование монорепозиториев с App Hosting .
Поддерживаются следующие версии Nx:
| Версия | Статус | Амортизация |
|---|---|---|
| 19.5.x | обслуживание | 2025-10-9 |
| 19.6.x | обслуживание | 2025-10-9 |
| 19.7.x | обслуживание | 2025-10-9 |
| 19.8.x | лтс | 2026-10-9 |
| 20.0.x | активный | не раньше 9 октября 2025 г. |
| 20.1.x | активный | не раньше 9 октября 2025 г. |
| 20.2.x | активный | не раньше 9 октября 2025 г. |
| 20.3.x | активный | не раньше 9 октября 2025 г. |
| 20.4.x | активный | не раньше 9 октября 2025 г. |
| 20.5.x | активный | не раньше 9 октября 2025 г. |
| 20.6.x | активный | не раньше 9 октября 2025 г. |
| 20.7.x | активный | — |
Если вам нужна поддержка для других типов рабочих пространств монорепозитория, сообщите нам об этом на Firebase UserVoice .