Uygulamaları firebase klibinden nasıl değiştiririm?


101

Bu, yapılması oldukça kolay olan bir şey gibi görünüyor, ama her ne sebeple olursa olsun, yenildim.

Veritabanımla etkileşim kurmak için firebase araçları CLI'yi kullanmaya çalışıyorum. Herhangi bir sorun yaşamadan giriş yapabiliyorum ve firebase listyazdığımda mevcut tüm uygulamalarımın bir listesini alıyorum. Ayrıca şu anda hangi uygulamaya bağlı olduğumu da söylüyor.

Benim sorunum, diğer uygulamalardan birine bağlanmak istiyorum. Aşama uygulamamda sorgular çalıştırıyorum ve bunları üretim uygulamamda çalıştırmam gerekiyor. Listede üretim uygulamasını görebiliyorum, ancak bu uygulamaya geçmenin bir yolunu bulamıyorum.

Düşünceler?

Yanıtlar:



27

Senaryoları kullanmayı tercih ederim. Şöyle bir proje yapısı düşünün:

your-project
├── .firebaserc
└── functions
   ├── package.json
   └── index.js

.firebasercBir sonraki örneğe gidin ve takip edin

{
  "projects": {
    "default": "project-name",
    "prod": "other-name"
  }
}

Ardından gidin package.jsonve aşağıdaki komut dosyalarını ekleyin ( changeToProd, ve changeToDev).

{
  ...
  "scripts": {
    ...
    "changeToProd": "firebase use prod",
    "changeToDev": "firebase use default"
  },
  "dependencies": {
    ...
  },
  ...
}

IDE'niz npm komut dosyalarını destekliyorsa, bunları IDE kullanıcı arayüzünü kullanarak çalıştırabilirsiniz, aksi takdirde komut konsolu kullanılarak çalıştırılabilir. functionsKlasörün içinde olduğunuzdan emin olun .

npm run-script changeToProd

Mevcut projenizi, terminalden aşağıdaki komutu çalıştırarak veya az önce yaptığımız gibi komut dosyalarına ekleyerek doğrulayabilirsiniz.

firebase use

Hoş geldiniz, yaklaşımım ekibin geri kalanıyla paylaşılabilir :)
cutiko

17

Çalıştırdığınız dizinde firebase listadlı bir dosya olacaktır firebase.json. Bunu bir metin düzenleyicide açarsanız, uygulama adını orada göreceksiniz. Orada değiştirebilir veya firebase.jsonuygulamayı değiştirmek için silebilirsiniz .

Veya bir metin dosyasını düzenleme zahmetinden kurtulun ve Jason'ın dediği gibi yapın: kullanın firebase init.


1
Şimdi bir değişiklik var mı? Uygulama adını firebase.json içinde bulamadığım için .firebaserc içinde bulabildiğim için .... Açıklamayı takdir edin ...
Abhishek

1
Proje adı gerçekten .firebasercşimdi.
Frank van Puffelen

2
Yanlış olabilir, ancak bu veritabanını değiştirmiyor gibi görünüyor. Dağıtım, "mevcut" projeye konuşlandırılacak, ancak yine de orijinal veritabanından veri çekiyor gibi görünüyor. Bunu üretimi sahneleme ortamlarından ayırmak için kullanacaksanız oldukça tehlikeli. Umarım kimse üretim verilerini kaybetmez. :(
Enric Ribas

1
@ Enric'in farklı bir projedeyken varsayılan veritabanına erişim hakkında açıkladığı sorunun aynısını yaşıyorum. Uygulamayı uygun şekilde başlatmak için yapılandırmayı değiştirebilmem için istemci tarafında hangi projenin kullanıldığını tespit etmenin bir yolu var mı?
Zectbumo

firebaseConfig `// Web uygulamanızın Firebase yapılandırması var firebaseConfig = {apiKey:" api-key ", authDomain:" new-project.firebaseapp.com ", databaseURL:" https: /new-project.firebaseio.com'u değiştirdiğinizden emin olun ", projectId:" new-project-id ", storageBucket:" xxxxxxxxxxx.appspot.com ", messagingSenderId:" xxxxxx ", appId:" xxxxxxxxxx ", ölçüm kimliği:" xxxxxxxx "}; //
Firebase'i

11

Windows'ta Node.js kullanıyorsanız, cevabınız şöyle olmalıdır:

firebase use <project_id>

ancak <> olmadan örneğin

firebase use chat-app-2a150

Kullanılacak doğru proje kimliğini seçmek için tüm projelerinizi görüntülemek için aşağıdaki kodu kullanabilirsiniz.

firebase projects:list

7

2020'de cevap:

Resmi olarak önerilen yol "takma ad" kullanmaktır:

Sizde .firebasercfarklı proje kimlikleri ayarlayın:

{
  "projects": {
    "production": "my-project-id",
    "testing": "my-project-id--testing"
  }
}
// you can also interactively add them with `firebase use --add`

Ardından projeler arasında geçiş yapabilir firebase use testingveya yapabilirsiniz firebase use production.

Proje değiştirmenin herhangi bir git diff oluşturmayacağını, yerel makinenizde hatırlanacağını unutmayın. Şu anda hangi projenin kullanıldığını görmek için çalıştırın firebase use.

Eğer proje sahibi yıllardan değişiklik işlemekle olmadan proje kimliğine değiştirmek istiyorsanız .firebaserc, bunu firebase use my-project-idkabul cevapta belirtildiği şekilde lokal olarak. Eğer proje sahibi konum ve kendi proje kimlikleri kullanmak için başkalarını istiyorsanız Öte yandan, sen eklemek gerekir .firebaserciçine .gitignore.


3

sadece bir komut satırı anahtarı kullanabilirsiniz

--project=my-firebase-project

1

Ekleme @ cutiko'nun cevabı

İçinde package.json

"scripts": {
...
"prod": "echo \"Switch to Production environment\" && firebase use prod && npm run runtimeconfig",
"dev": "echo \"Switch to Development environment\" && firebase use default && npm run runtimeconfig"
...

npm run runtimeconfig özel yapılandırma ortamı elde etmek için

İçinde .firebaserc

{
  "projects": {
    "default":"{project-dev-id}",
    "prod": "{project-prod-id}"
  }
}

0

firebase uygulaması hedef projesini değiştirmek için "firebase use myProjectName" yazabilirsiniz. Ayrıca hangi projeye sahip olduğumu kontrol etmek için yukarıdaki "firebase listesi" yanıtlarını kullandım (benim için firebase cli 7.4'te açısal 7 uygulamasıyla çalışın)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.