node.js - 为什么节点 js 中的云功能没有正确部署
问题描述
这里我使用云函数创建用户我正在使用 express 模块当我尝试部署此代码时,它部署到云函数并显示错误消息:函数未正确部署
const express = require('express');
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const serviceaccount = require('./ServiceAccountKey.json');
const app = express();
admin.initializeApp({
credential: admin.credential.cert(serviceaccount)
});
app.post('/',(req,res)=>{
if(req.method!== 'POST'){
res.status(400).send("what are u trying baby");
return;
}
admin.auth().createUser({
email:req.body.email,
password: req.body.pass,
}).then(function(userRecord){
res.send({'uid': userRecord.uid});
return;
}).catch(function(error){
res.send({'error': 'Try COrrect one baby'});
return;
});
return;
});
exports.register = funtions.Https.onRequest(app);
当我在最后添加这个
module.exports = {
app
}
它显示已部署的功能,但未在云功能仪表板中显示
我在这里做错了什么
这是我得到的错误我得到的错误是什么
⚠ functions[register(us-central1)]: Deployment error.
Function failed on loading user code. Error message: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/index.js:1:79)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
Functions deploy had errors with the following functions:
register
解决方案
您的代码从不使用firebase-functions
模块来声明云函数。您的functions
变量将未使用。您不能只导出任何期望它运行的函数——它必须由 SDK 构建。
如果您有要部署的 express 应用程序,则需要通过 HTTP 类型函数将其导出:
exports.app = functions.https.onRequest(app);
推荐阅读
- sql - 在数据库中添加新列后必须更新每个 INSERT SQL 命令
- javascript - 无法读取未定义 node.js 的属性“会话”
- github - GitHub - 当非默认分支与主分支合并时,PR 链接问题不会关闭
- c++ - 如何检测 C++ 中是否按下某个键?
- netbeans - Parameticindex 超出范围,因此我的数据库中有 7 个参数,如果我尝试更新数据,则会出现此错误
- django - 未找到:/post/12/responses/
- java - 查找数组的相邻解
- regex - 如何从plsql中的字符串中提取几个指定的字母数字整个单词之前的文本
- android - 为什么firebase没有收到任何数据?
- maven - 无法在 IntelliJ 中导入 itextpdf 5 - Maven