为什么节点js中的云功能没有正确部署
在这里我使用云功能来创建用户当我尝试部署此代码时,我正在使用快速模块,它部署到云功能,并显示消息:错误:功能未正确部署
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);
为什么节点js中的云功能没有正确部署
在这里我使用云功能来创建用户当我尝试部署此代码时,我正在使用快速模块,它部署到云功能,并显示消息:错误:功能未正确部署
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);