Je suis en train de démarrer avec Firebase.
Je ne suis pas sûr à l'intérieur et à l'extérieur de la base de feu et sur la base de ma compréhension vague, j'ai configuré mon application de cette façon.
Dans le fichier principal Index.js , je demande
//All the operations at firebase store would be done from here const firebaseDb = require("./../config/firebaseConfig.js") firebaseDb.db.collection('users').add({ name: "Rohit Bhatia", age: "24" }) .then((response) => { console.log("this is response", response) }) .catch((err) => { console.log("This is error in firebase", err) })
Ici, firebaseConfig est l'endroit où je configure ma base de feu
const firebaseConfigJSON = require("./functions-config.json") const admin = require("firebase-admin"); admin.initializeApp({ credential: admin.credential.cert(firebaseConfigJSON), databaseURL: "https://functions-firebase-43a59.firebaseio.com" }) const db = admin.firestore() db.settings({ timestampsInSnapshots: true }); module.exports = { db }
puis en utilisant cette base de données importée dans firebaseDb
const path = require('path') const firebaseConfig = require("./src/config/firebaseConfig.js") const firebaseDb = require("./src/helperFunctions/firebase_db.js")
Depuis la plupart des le code est singleton ici, je m'attendais à ce que tout se passe bien jusqu'à ce que je reçoive l'erreur suivante
Il s'agit d'une erreur dans Firebase TypeError: le chemin doit être une chaîne. Reçu indéfini
sur assertPath (path.js: 28: 11)
à Object.join (path.js: 1236: 7)
sur getPath (/Users/anilbhatia/Desktop/google-functions/functions/node_modules/dir-glob/index.js:6:41)
sur globs.concat.map.x (/Users/anilbhatia/Desktop/google-functions/functions/node_modules/dir-glob/index.js:47:59)
sur Array.map ()
à module.exports.sync (/Users/anilbhatia/Desktop/google-functions/functions/node_modules/dir-glob/index.js:47:33)
sur globDirs (/Users/anilbhatia/Desktop/google-functions/functions/node_modules/globby/index.js:58:9)
sur getPattern (/Users/anilbhatia/Desktop/google-functions/functions/node_modules/globby/index.js:61:64)
sur globTasks.reduce (/Users/anilbhatia/Desktop/google-functions/functions/node_modules/globby/index.js:107:19) sur Array.reduce ()
Quelqu'un peut-il m'aider s'il vous plaît à comprendre ce que je pourrais faire de mal? ou peut-être ai-je réellement eu la base de feu?
Mon objectif initial était de créer une collection dans ma firebase via mon application express avant de mettre les données des routes API.
3 Réponses :
Essayez d'exécuter:
npm install firebase-admin@6.4.0
Vous pouvez également faire:
npm install
npm run build
(dans le dossier des fonctions.)
Puis Firebase deploy
.
Je l'ai corrigé pour moi.
Quelle était la raison alors, je n'ai pas pu reproduire cela sur l'environnement local?
L'environnement local fonctionnait bien malgré tout, je pense que c'est la mise à jour de ce paquet dir-gob qui causait des problèmes à des gens comme ce type et moi. Personnellement, nous n'avions pas mis à jour firebaseadmin (ou quoi que ce soit) depuis le début, mais après cela, aucun problème en direct ou en local.
la mise à jour de firebase-admin l'a corrigé pour moi
Nous avons pu rétablir le dir-glob
en 2.0.0 en ajoutant:
npm install dir-glob@2.0.0 --save npm install globby@8.0.0 --save
Dans les dépendances
package.json .
Vous pouvez le faire avec:
"dir-glob": "2.0.0", "globby": "8.0.0",
Nous avons ensuite supprimé les node_modules
et exécuté: npm install et déployé sur Firebase
Future googler's
Assurez-vous que dans votre fichier firebase.json
vous avez le bon chemin source
:
{ "functions": { "predeploy": "npm run build", "source": "." } }
J'ai le même problème - mais ma seule référence à la source dans firebase.json est: "rewrites": [{"source": "**", "destination": "/index.html"}]
À partir d'aujourd'hui, j'ai également reçu cette erreur à des endroits où le «chemin» ne peut pas être indéfini. Dans l'attente de quelques explications
Le paquet dir-glob a été mis à jour aujourd'hui (2.2.0), et il semble casser des choses. (firebase, entre autres)
même j'ai commencé à obtenir cette erreur sur l'environnement déployé par firebase, je ne suis pas en mesure de le reproduire en local.
même erreur ici depuis le dernier déploiement il y a quelques minutes
lancez
npm update
dans le répertoire'functions
et déployez. Cela a mis à jour tous les packages. Cela a résolu pour moi.npm update
n'a pas corrigé l'erreur pour moi