我感到沮丧和困惑。我正在尝试部署我的云功能,但是每当我执行这些功能时,它们都无法正确更新,尽管firebase说它们已成功更新,请继续提供旧功能。这是我的index.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
//Cloud functions for user interaction
const charge = require('./func/charge');
const addProduct = require('./func/addProduct');
const removeProduct = require('./func/removeProduct');
const updateTracking = require('./func/updateTracking');
admin.initializeApp(functions.config().firebase);
exports.charge = functions.https.onRequest(charge);
exports.updateTracking = functions.https.onRequest(addProduct);
exports.addProduct = functions.https.onRequest(removeProduct);
exports.removeProduct = functions.https.onRequest(updateTracking)
这是我的addProduct函数,所有内容都被剥离了。仍然不会更新。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const express = require('express');
const request = require('request');
const send = require('../send.js');
const cors = require('cors')({origin: '*'});
function addProduct(req, res) {
console.log('THIS NEVER PRINTS')
send(res, 500, {
error: `FAILURE`
})
}
const appAddProduct = express();
appAddProduct.use(cors);
appAddProduct.post('/', (req, res) => {
// Catch any unexpected errors to prevent crashing
try {
addProduct(req, res);
} catch(e) {
console.log(e);
send(res, 500, {
error: `The server received an unexpected error. Please try again and contact the site admin if the error persists.`,
});
}
});
module.exports = appAddProduct
这仍然从较旧的函数提供成功消息和状态代码200,其中包含逻辑错误,而这每次应该仅提供500错误。我将其拆分为多个文件的方式显然出了问题,因为那是麻烦开始的地方,但我不确定哪里出了问题。帮助将不胜感激。
答案 0 :(得分:1)
您导出的函数名称与导入文件的名称不匹配:
exports.charge = functions.https.onRequest(charge);
exports.updateTracking = functions.https.onRequest(addProduct);
exports.addProduct = functions.https.onRequest(removeProduct);
exports.removeProduct = functions.https.onRequest(updateTracking)
我看到四个功能中的三个未与同名的导入配对。唯一匹配的是charge
。我怀疑您不打算这样做。