Jul*_*rke 3 node.js firebase reactjs firebase-realtime-database firebase-admin
我对Node和Firebase都是新手,但似乎无法在线找到此错误。
当我尝试通过Firebase Admin加载Firebase数据库时,出现以下错误:
TypeError:rtdb.initStandalone不是函数DatabaseService ../ node_modules / firebase-admin / lib / database / database.js.DatabaseService.getDatabase node_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;
Run Code Online (Sandbox Code Playgroud)
节点模块版本: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",
Run Code Online (Sandbox Code Playgroud)
initStandalone()包含在其中,dist/cjs/index.node.js但不是dist/esm/index.js因为仅在服务器端使用,而不是在浏览器中使用。
如果您使用webpack来捆绑代码,即使使用target: 'node',也将首选“ module”而非“ main”并使用用于浏览器的文件。
对我来说,解决方案是一套resolve.mainFields以["main", "module"]中的WebPack配置。
PS。我正在使用webpack来准备要上传到AWS Lambda的代码。如果不使用它,则必须上载整个node_modules文件夹,该文件夹很大,经常导致上载超时。我只需要其中10%的代码。如果有人知道更好的解决方案,我很想听听。
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |