我刚开始使用Firebase。
我不确定是否可以进入和退出Firebase,基于我的模糊理解,我已经以这种方式配置了我的应用程序。
在主 Index.js 文件中,我需要
const path = require('path')
const firebaseConfig = require("./src/config/firebaseConfig.js")
const firebaseDb = require("./src/helperFunctions/firebase_db.js")
在这里,firebaseConfig是我配置Firebase的地方
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
}
,然后在firebaseDb
//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)
})
由于这里的大多数代码都是单例代码,因此我一直期待一切顺利,直到收到以下错误为止
这是Firebase TypeError中的错误:路径必须是字符串。已收到 未定义
在assertPath(path.js:28:11)
在Object.join(path.js:1236:7)
在getPath(/Users/anilbhatia/Desktop/google-functions/functions/node_modules/dir-glob/index.js:6:41)
在globs.concat.map.x(/Users/anilbhatia/Desktop/google-functions/functions/node_modules/dir-glob/index.js:47:59)
在Array.map()
at module.exports.sync(/Users/anilbhatia/Desktop/google-functions/functions/node_modules/dir-glob/index.js:47:33)
在globDirs(/Users/anilbhatia/Desktop/google-functions/functions/node_modules/globby/index.js:58:9)
在getPattern(/Users/anilbhatia/Desktop/google-functions/functions/node_modules/globby/index.js:61:64)
at globTasks.reduce(/Users/anilbhatia/Desktop/google-functions/functions/node_modules/globby/index.js:107:19) 在Array.reduce()
有人可以帮我弄清楚我可能做错了什么吗?还是我实际上得到了火力基地?
我的最初目标是在放置来自api路由的数据之前,通过我的express应用在我的Firebase中创建一个集合。
答案 0 :(得分:3)
尝试运行:
npm install firebase-admin@6.4.0
您还可以执行以下操作:
npm install
npm run build
(在函数文件夹中。)
然后firebase deploy
。
为我修复了。
答案 1 :(得分:2)
我们能够通过添加以下内容将dir-glob
还原为2.0.0:
"dir-glob": "2.0.0",
"globby": "8.0.0",
在package.json dependencies
中。
您可以执行以下操作:
npm install dir-glob@2.0.0 --save
npm install globby@8.0.0 --save
然后我们删除了node_modules
并运行:npm install
并部署到Firebase
答案 2 :(得分:0)
未来的Google员工
确保在您的firebase.json
文件中,您具有正确的source
路径:
{
"functions": {
"predeploy": "npm run build",
"source": "."
}
}