【问题标题】:How to use firestore in firebase functions with express?如何在带有express的firebase函数中使用firestore?
【发布时间】:2020-08-25 14:05:26
【问题描述】:

我正在做一个项目,我在 firebase 函数中使用 express 来使用把手运行服务器端渲染页面,一切正常,但是当我使用 firestore admin sdk 时出现此错误:

SyntaxError: Invalid or unexpected token
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)

我在我的函数/index.js 文件中使用此代码

const functions = require('firebase-functions');
const express = require('express')
const engines = require('consolidate')
const cookieParser = require('cookie-parser')
const serviceAccount = require('./lendme360-firebase-adminsdk-easkh-d9130c0494.json');
var admin = require('firebase-admin')
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount)
})

const stripe = require('stripe')('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
const db = admin.firestore()
const app = express()
app.engine('hbs', engines.handlebars)
app.set('views', './views')
app.use(cookieParser())
app.set('view engine', 'hbs')
...
...
...
...
...
exports.app = functions.https.onRequest(app)

函数运行正常,但是当尝试 const db = admin.firestore() 时出现错误,我还尝试了函数和 firestore 的模拟器,但仍然出现相同的错误

请帮助我这里做错了什么

提前致谢

【问题讨论】:

  • 错误信息是什么?

标签: javascript firebase express google-cloud-firestore google-cloud-functions


【解决方案1】:

我可以重现此问题,您的环境中似乎未加载该模块。我注意到您提到您使用其他环境进行测试。

在本地环境中尝试运行测试,在该测试中,您只需使用“const db = admin.firestore()”初始化模块,您应该会遇到与以前相同的错误,但我会要求他们运行“npm install firebase-admin --save" 根据 documentation,这将获取要与节点 js 一起使用的模块。

在 firebase 函数中,您应该按照其他 documentation 在您的 package.json 中定义您的模块,这应该可以解决错误消息,告诉我们节点无法识别来自模块的语法或命令(如模块未加载)。

【讨论】:

  • 我在函数目录中使用了纱线包管理器。使用 npm install --save 重新安装了依赖项,它真的很有效,非常感谢 Luis Manuel
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 2018-10-31
  • 2021-12-19
  • 2020-07-17
  • 1970-01-01
  • 2021-06-24
  • 1970-01-01
相关资源
最近更新 更多