Firebase云功能在部署时不会更新-仍提供旧版本的功能

时间:2020-03-11 15:05:50

标签: javascript firebase google-cloud-platform google-cloud-functions

我感到沮丧和困惑。我正在尝试部署我的云功能,但是每当我执行这些功能时,它们都无法正确更新,尽管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错误。我将其拆分为多个文件的方式显然出了问题,因为那是麻烦开始的地方,但我不确定哪里出了问题。帮助将不胜感激。

1 个答案:

答案 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。我怀疑您不打算这样做。