Облачные функции Firebase не обновляются при развертывании - все еще обслуживают старую версию функции - PullRequest
0 голосов
/ 11 марта 2020

Я расстроен и растерян. Я пытаюсь развернуть свои облачные функции, но всякий раз, когда я делаю это, они не обновляются должным образом и, несмотря на то, что Firebase сообщает, что они были успешно обновлены, продолжайте обслуживать старую функцию. Вот мой индекс. 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 от более старой функции с ошибкой logi c, когда это должно только подать 500 ошибка каждый раз. Что-то явно не так с тем, как я разбил это на несколько файлов, так как именно здесь начались проблемы, но я не уверен, где я ошибся. Помощь будет высоко ценится.

1 Ответ

1 голос
/ 11 марта 2020

Имена экспортированных функций не совпадают с именами импортированных файлов:

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. Я подозреваю, что вы не собирались это делать.

...