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的配置需要一对source
和function
。目前您显示的是一对 source
和 destination
,因此您可能应该将 destination
更改为 function
。 Please see the documentation了解更多详情。
在使用 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的配置需要一对source
和function
。目前您显示的是一对 source
和 destination
,因此您可能应该将 destination
更改为 function
。 Please see the documentation了解更多详情。