路径"./standalone"在包中未被导出。

3

我正在尝试使用Firebase管理员SDK,这是我的代码:

import * as admin from 'firebase-admin';

var firebaseAdminAccount = require("../serviceAccount.json");

var app : admin.app.App = null;

if(!admin.apps.length)
{
  app = admin.initializeApp({
    credential: admin.credential.cert(firebaseAdminAccount)
  })
}

if(app === null)
{
  app = admin.apps[0];
}

export default app;

这个函数的想法是在每次使用时检查 Firebase Admin SDK 是否已初始化,如果没有,则初始化并导出。

然而,我的问题是当我尝试运行它时,它给了我以下错误:

错误 - ./node_modules/firebase-admin/lib/app/firebase-namespace.js:106:0 模块未找到:从包D:\NewRepos\1d3a\node_modules@firebase\database-compat中未导出 ./standalone 路径(请参阅 D:\NewRepos\1d3a\node_modules@firebase\database-compat\package.json 中的 exports 字段)

所请求模块的导入跟踪: ./node_modules/firebase-admin/lib/default-namespace.js ./node_modules/firebase-admin/lib/index.js ./lib/firebaseAdminSdk.ts ./middleware.ts

https://nextjs.org/docs/messages/module-not-found\

我刚刚安装了所有东西,所以应该是最新版本,有人知道为什么会发生这种情况吗?


也许 firebase-admin 代码正在客户端渲染。我最近也遇到了这个问题。 - Aakash
这是不可能的,因为这只存在于API中间件上。 - ArchyInUse
还有其他解决办法吗?我已经初始化了管理员SDK并且一直工作正常,但突然出现了这个错误。 - Taio
1个回答

4

看起来我没有意识到 Next.js 中间件是在 V8 上运行的,因此 firebase-admin 无法在其上运行。回到起点重新规划。


我最近发现了 Remix: https://remix.run/,用于 React SSR,并且能够轻松集成 Firebase Admin SDK,没有任何问题。希望这可以帮到你! - Aakash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接