如何通过next.js使用Firebase的firestore / admin sdk

reactjs React.js

村村

2020-03-27

我正在用firebase和next.js构建应用程序

我对这种设置还不陌生,对SSR还是完全陌生的,firebase文档使我感到困惑。

当前,我正在使用firebase函数来运行next.js,它的工作原理很吸引人。但是现在,我想使用Firestore。根据文档,我看到了在我的项目中使用它的两种方法(如果我理解正确的话)。第一个是“网络”解决方案,它对我来说不会有好处,因为我认为它不是SSR,而我的应用程序的重点仅在于此。

另一个是'node.js'解决方案,该解决方案在firebase函数上运行,这对我来说更有意义。我不知道的部分是与Next.js一起使用

在当前设置中,我正在将我的next.js应用程序构建 functions文件夹中,在function文件夹中,我可以引用使用'node.js'解决方案创建的databaseref对象,但是构建我的下一个应用程序之前如何引用它所以当我不在功能文件夹中时?

设定:

- src
  - utils
  - pages
    - index.js
    - signin.js
    - // etc.
- functions 
  - next // this is the output folder of my 'src' build
  - index.js 
  - // etc.

在里面functions/index.js我可以做:

const admin = require('firebase-admin');
const functions = require('firebase-functions');

admin.initializeApp(functions.config().firebase);

let db = admin.firestore();

并用于db读取并添加到服务器端的Firestore中(对吗?)

但是我所有的代码都在src/构建它之前就已经存在了,我认为我不能在那里使用它。我应该以不同的方式组织项目吗?或者我应该怎么做才能使用db或者,当然,还有另一种方法可以与我的Firestore建立服务器端连接。

第3809篇《如何通过next.js使用Firebase的firestore / admin sdk》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

0个回答

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android