У меня есть два проекта firebase: myapp
для prod и myapp-dev
для среды разработки.
Сначала я использовал firebase cli, чтобы запустить мой проект с помощью "myapp", и поэтому все файлы были сгенерированы с этим, включая ресурс хостинга myapp
(чтобы я мог развернуть свое приложение на myapp.web.app
).
Затем я добавил второй проект firebase ("myapp-dev"). Я запускаю эти
firebase use --add myapp-dev # I have selected the right myapp-dev firebase project and set `dev` as short name
firebase target:apply hosting myapp-dev myapp # note here that I also use name "myapp" as resource
Я вручную изменил свой .firebasesrc
, потому что я хочу, чтобы проект dev был по умолчанию ...
Так что мой .firebasesrc
выглядит так
{
"projects": {
"default": "myapp-dev",
"prod": "myapp"
},
"targets": {
"myapp": {
"hosting": {
"myapp": [
"myapp"
]
}
},
"myapp-dev": {
"hosting": {
"myapp": [
"myapp"
]
}
}
}
}
и firebase.json
{
"hosting": [
{
"target": "myapp",
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
],
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
]
}
}
Теперь, когда я запустил эти строки, веб-приложение было развернуто в prod env, functions
- в dev dev ...
firebase use myapp-dev
firebase deploy
РЕДАКТИРОВАТЬ
Запуск firebase target:apply hosting myapp myapp-dev
помог!