我正在尝试重用现有的 Express 应用程序,并将其基本上移植到 firebase 功能。我有一个这样的项目结构:
/
functions/
index.js
package.json
src/
app/
index.js
index.js
/src/app/index.js
const express = require('express')
const cors = require('cors')
const app = express()
app.use(cors({
origin: 'http://localhost:5000',
}))
app.get('/health', (req, res) => {
res.status(200).send('Health OK')
})
module.exports = app
/functions/index.js
const functions = require('firebase-functions');
const admin = require('firebase-admin')
const app = require('../src/app')
admin.initializeApp()
exports.app = functions.https.onRequest(app)
使用时整个设置运行良好firebase emulators:start
。我可以调用这些函数,一切正常。但是,当我收到以下错误消息时,我无法部署这些功能:
函数加载用户代码失败。错误消息:错误:请检查您的函数日志以查看错误原因: https: //cloud.google.com/functions/docs/monitoring/logging#viewing_logs。其他故障排除文档可以在https://cloud.google.com/functions/docs/troubleshooting#logging中找到
函数部署有以下函数错误:app
当我在 Firebase 控制台中查看日志时,我无法查明确切的问题:
{"@type":"type.googleapis.com/google.cloud.audit.AuditLog","status":{"code":3,"message":"加载用户代码时函数失败。错误消息:错误:请检查您的函数日志以查看错误原因: https: //cloud.google.com/functions/docs/monitoring/logging#viewing_logs。可以在https://cloud.google.com/functions/找到其他故障排除文档docs/troubleshooting#logging"},"authenticationInfo":{"principalEmail":"xxx@gmail.com"},"serviceName":"cloudfunctions.googleapis.com","methodName":"google.cloud.functions.v1 .CloudFunctionsService.UpdateFunction","resourceName":"projects/xxxx/locations/us-central1/functions/app"}
但是,当我从文件中删除这一行时/functions/index.js
:
const app = require('../src/app')
基本上把代码放进去就/src/app/index.js
可以了。使用不同文件夹中的代码似乎有问题?也许我错过了文档中的某些内容,但是我是否必须指定它应该包含哪些目录?
我在in目录中有express
依赖项。cors
package.json
/functions/
月关宝盒
慕的地8271018
相关分类