1

使用firebase deployIm 时出现以下错误:

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"
      }
    ]
  }
}

谢谢

4

1 回答 1

3

将 URL 重写为 Cloud Function 的配置需要一对sourcefunction。目前您正在展示一对sourceand destination,因此您可能应该只更改destinationfunction。 有关详细信息,请参阅文档。

于 2018-02-18T21:38:40.260 回答