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

标签 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 错误。我将其分成多个文件的方式显然有问题,因为这就是问题开始的地方,但我不确定哪里出了问题。非常感谢您的帮助。

最佳答案

导出的函数名称与导入文件的名称不匹配:

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。我怀疑你无意这样做。

关于javascript - Firebase 云功能在部署时未更新 - 仍在提供旧版本的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60639040/

相关文章:

javascript - 如何在 NetBeans 的 JSDoc 注释中转义 @ 符号

javascript - jQM/jquery-collagePlus 使用问题

javascript - 保持工具提示足够长的时间以单击 Google 日历图表中的链接

ios - 无法使用类型为 'setValue' 的参数列表调用 '(Any?, (Error?, DatabaseReference) -> Void)'

java - 错误: java heap space on Google Data-Proc Cluster

google-cloud-platform - 如何将现有 Google Cloud 项目连接到 Google Playstore 控制台用户?

javascript - 仍在努力捕获延期

swift - 有没有办法只为一个集合启用离线持久性,而不是其他集合?

java - 如果已经创建了用户,则正确的代码位置检查 Firebase?

tensorflow - colab 中的 TPU 训练,自定义模型,数据来 self 自己的 GCP 帐户 : Cell just seems to hang, 没有进展或错误消息