HTTP Error: 400, hosting.rewrites[0] is not exactly one from [subschema 0 ],[subschema 1]

HTTP Error: 400, hosting.rewrites[0] is not exactly one from [subschema 0 ],[subschema 1]

在使用 firebase deploy 时出现以下错误:

Error: HTTP Error: 400, hosting.rewrites[0] is not exactly one from [subschema 0 ],[subschema 1]

这是什么原因造成的?

我的函数文件 index.js:

const functions = require('firebase-functions');
const nodemailer = require('nodemailer');

import React from 'react';
import { renderToString } from 'react-dom/server';
import express from 'express';
import fs from 'fs';
import App from './app/containers/App';

const index = fs.readFileSync(__dirname + '/index.html', 'utf8');

const app = express();

app.get('**', (req, res) => {
  const html = renderToString(<App />);
  const finalHtml = index.replace('app', html);
  res.set('Cache-Control', 'public, max-age=600, s-maxage=1200');
  res.send(finalHtml);
});

export const ssrapp = functions.https.onRequest(app);

exports.someCustomFunction1 = functions.database.ref(...).onWrite(...);
exports.someCustomFunction2 = functions.database.ref(...).onWrite(...);

firebase.json

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "ssrapp"
      }
    ]
  }
}

谢谢

将URL重写为Cloud Function的配置需要一对sourcefunction。目前您显示的是一对 sourcedestination,因此您可能应该将 destination 更改为 functionPlease see the documentation了解更多详情。