node API, размещенный в функции onCloud, выдает неописательную ошибку `завершено со статусом: 'cra sh'. Моя конфигурация верна? - PullRequest
0 голосов
/ 09 июля 2020

У меня есть API рабочего узла, который мне нужно развернуть в облачных функциях

index. js это запись:

"use strict";
const functions = require('firebase-functions');
const admin = require('firebase-admin');

const alertsAPI = require('../src/app.js');

admin.initializeApp(functions.config().firebase);
exports.api = functions.https.onRequest(alertsAPI);

.. / src / app. js, откуда берется объект alertAPI:

const bodyParser = require('body-parser')
const express = require('express')
const routes = require('./routes')
const cors = require('cors')

alertsAPI = express();
alertsAPI.use(cors({ origin: true }))
alertsAPI.use(bodyParser.json())
alertsAPI.set('json spaces', 2)
alertsAPI.use('/', routes)

module.export = alertsAPI;

и . / routes. js содержит сам импортируемые маршруты и вызывает logi c:

var Controller = require('./controller.js')
var express = require('express')
var router = express.Router()


router.get('/', (req, res) => {
    const controller = new Controller()

    controller.addListener('get_definition', (return_value) => {
        res.status(200).json(return_value)
    })

    controller.getDefinition()
})

...


module.exports = router;

Это работает локально.

firebase. json конфигурация:

{
  "functions": {
    "predeploy": "npm --prefix \"$RESOURCE_DIR\" run build"
  },
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**",
      "**creds.json"
    ],
    "rewrites": [
      {
        "source": "/api/**",
        "function": "api"
      }
    ]
  }
}

Я могу развернуть без ошибок.

Но переход к выходу https://region-my-project.cloudfunctions.net/api/ дает Error: could not handle the request, а в журналах написано Function execution took 199 ms, finished with status: 'crash'"

Кто-нибудь знает, что я делаю неправильно?

...