我正在构建一个允许用户从 Firestore 集合中呈现 RSS 提要的应用程序。我的解决方案是使用一个 Nuxt 服务器路由,它返回一个通过 RSS 提要生成器呈现的 XML 文件。
出现的问题是我终生无法弄清楚如何在服务器路由中访问 Firestore。 VueFire 的文档,我用来与 Firebase 交互的处理程序,状态
“你不需要做任何特别的事情来让它与 SSR 一起工作,一切都是自动处理的。”
这个简单的行除了让我烦恼之外什么也没做,因为访问 Firestore 的任何常用方法(
useFirestore()
,getCurrentUser()
,是两个例子)都会失败并出现 (app/no-options)
错误。
这是失败代码的示例。我将此代码基于 VueFire 文档中的中间件示例。
// server/routes/[user]/rss.js
import { useFirestore } from 'vuefire'
export default defineEventHandler(async event => {
const db = await useFirestore();
})
我在这里错过了什么?为什么 VueFire 无法在服务器路由和仅服务器路由中初始化?谢谢。
我尝试过的事情:
我的最终解决方案是手动导入 Firebase Admin,但这似乎与“您不需要做任何特殊操作即可使其与 SSR 一起工作”这句话有悖常理