我试图弄清楚如何在NextJs中的GetServerSideProps内从Firebase获取数据
这是我的数据库文件
import admin from "firebase-admin";
import serviceAccount from "./serviceAccountKey.json";
if (!admin.apps.length) {
try {
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
});
} catch (error) {
console.log("Firebase admin initialization error", error.stack);
}
}
export default admin.firestore();
然后在getServerSideProps中
export async function getServerSideProps(context) {
const id = context.params.profileId;
const doc = await db.collection("profile").doc(id).get();
const profile = doc.data();
return {
props: { profile },
};
}
获取以下错误
error - ./node_modules/@google-cloud/storage/build/src/bucket.js:21:0
Module not found: Can't resolve 'fs'
有没有其他方法可以不使用依赖于文件系统的节点库来调用firebase?或者有没有其他方法可以解决这个问题?
- 谢谢-谢谢
1条答案
按热度按时间1tuwyuhd1#
如果你使用
firebase-admin
,你只能在api函数中使用。你甚至不能在客户端导入它。它需要访问fs
模块,而客户端没有。如果你需要在客户端使用firebase,请使用@firebase/app npm模块。您可以有两个单独的firebase config files。一个用于客户端,如上所述,另一个使用您定义的
firebase-admin