Gre*_*his 8 javascript node.js hapi firebase firebase-admin
我用 firebase admin 编写 hapi 后端 api。我找不到此错误的修复方法。
TypeError: Cannot read property 'cert' of undefined
at ModuleJob.run (internal/modules/esm/module_job.js:109:37)
at async Loader.import (internal/modules/esm/loader.js:133:24)
代码:
import * as admin from 'firebase-admin';
import serviceAccount from './resources/serviceAccount.js'
let storageBucket = process.env.NODE_ENV === 'production' ? '' : 'gs://myapp-dev.appspot.com'
let app = admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: process.env.NODE_ENV === 'production' ? "https://myapp.firebaseio.com" : "https://jointcreative1-dev.firebaseio.com"
});
Run Code Online (Sandbox Code Playgroud)
包json:
{
"name": "backend",
"version": "1.0.0",
"description": "Hapi/joi backend server",
"type": "module",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"author": "XXX",
"license": "MIT",
"dependencies": {
"@hapi/hapi": "^19.1.1",
"firebase": "^7.14.6",
"firebase-admin": "^8.12.1",
"firebase-tools": "^8.4.1",
"google-auth-library": "^0.12.0",
"hapi-auth-jwt2": "^10.1.0"
}
}
Run Code Online (Sandbox Code Playgroud)
我在 sapper 中使用它,一切正常,但由于某种原因进入 hapi 却破坏了它。
这个问题在几年前就已经得到解决,但此后已经发布了多个主要版本。
riv*_*sun 16
正如 package.json 中写的那样"type":" module"
看起来您正在使用 ES 模块,因此请尝试以下操作:
import admin from 'firebase-admin';
Run Code Online (Sandbox Code Playgroud)
你尝试过这个吗?
var serviceAccount = require('./resources/serviceAccount.js');
let app = admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4062 次 |
| 最近记录: |