gpt4 book ai didi

node.js - TypeError : rtdb. initStandalone 不是函数

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:15 24 4
gpt4 key购买 nike

我对 Node 和 Firebase 都很陌生,但似乎无法在线找到此错误。

当我尝试通过 Firebase Admin 加载 Firebase 数据库时出现以下错误:

TypeError: rtdb.initStandalone 不是函数数据库服务../node_modules/firebase-admin/lib/database/database.js.DatabaseService.getDatabasenode_modules/firebase-admin/lib/database/database.js:62

    var db = this.INTERNAL.databases[dbUrl];
if (typeof db === 'undefined') {
var rtdb = require('@firebase/database');
db = rtdb.initStandalone(this.appInternal, dbUrl).instance;
this.INTERNAL.databases[dbUrl] = db;
}
return db;

Node 模块版本:Firebase-Admin@5.8.0@firebase/app@0.1.1@firebase/database@0.1.3

最佳答案

万一有人遇到和我一样的问题:

@firebase/database/package.json:

"main": "dist/cjs/index.node.js",
"browser": "dist/cjs/index.js",
"module": "dist/esm/index.js",

initStandalone()dist/cjs/index.node.js 但不在 dist/esm/index.js 因为它只是在服务器端使用,而不是在浏览器中使用。

如果您使用 webpack 来捆绑您的代码,即使使用 target: 'node',它也会更喜欢“module”而不是“main”,并使用为浏览器设计的文件。

我的解决方案是在 webpack 配置中将 resolve.mainFields 设置为 ["main", "module"]

附言。我正在使用 webpack 准备我的代码以上传到 AWS Lambda。如果我不使用它,我必须上传整个 node_modules 文件夹,这个文件夹很大并且经常导致上传超时。我只需要其中 10% 的代码。如果有人知道更好的解决方案,我很想听听。

关于node.js - TypeError : rtdb. initStandalone 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48266195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com