Firebase 重写在托管网站上不起作用
Firebase rewrites not working on hosted site
我一直在尝试让 Firebase 重写在我的 Firebase 托管网站上运行。不管我怎么努力,它都行不通。现在我将我的重写全部路由到一个名为 app 的路由函数。
如下所示>>
firebase.json
{
"public": "public/dist-main",
"target": "public-store-easy",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "/**",
"function": "app"
}
]
},
这是我的路由函数 >>
const functions = require('firebase-functions');
const express = require('express');
const path = require('path');
const html = require('html')
const app = express();
app.use(express.static('/../public/'));
app.get('/', (req, res) => {
res.sendFile('/dist-main/index.html', { root: '../public' })
})
app.get('/login', (req, res) => {
res.sendFile('/dist-main/login.html', { root: '../public' })
})
app.get('/HOME', (req, res) => {
res.sendFile('/dist-main/home.html', { root: '../public' })
})
app.get('/feedback', (req, res) => {
res.sendFile('/dist-main/feedback-form.html', { root: '../public' })
})
exports.app = functions.https.onRequest(app);
我希望它能正常工作,因为它在我的本地主机服务器和 firebase 服务器上工作得很好。
先谢谢了!
部署后,Cloud Functions 只能访问 functions
目录中的文件。您正在尝试从未使用函数部署的 ../public
发送文件。
如果你想让它起作用,你需要将 public
目录移动到 functions
目录中,并适当地更新 {"hosting": {"public": ""}}
键。
我一直在尝试让 Firebase 重写在我的 Firebase 托管网站上运行。不管我怎么努力,它都行不通。现在我将我的重写全部路由到一个名为 app 的路由函数。 如下所示>>
firebase.json
{
"public": "public/dist-main",
"target": "public-store-easy",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "/**",
"function": "app"
}
]
},
这是我的路由函数 >>
const functions = require('firebase-functions');
const express = require('express');
const path = require('path');
const html = require('html')
const app = express();
app.use(express.static('/../public/'));
app.get('/', (req, res) => {
res.sendFile('/dist-main/index.html', { root: '../public' })
})
app.get('/login', (req, res) => {
res.sendFile('/dist-main/login.html', { root: '../public' })
})
app.get('/HOME', (req, res) => {
res.sendFile('/dist-main/home.html', { root: '../public' })
})
app.get('/feedback', (req, res) => {
res.sendFile('/dist-main/feedback-form.html', { root: '../public' })
})
exports.app = functions.https.onRequest(app);
我希望它能正常工作,因为它在我的本地主机服务器和 firebase 服务器上工作得很好。
先谢谢了!
部署后,Cloud Functions 只能访问 functions
目录中的文件。您正在尝试从未使用函数部署的 ../public
发送文件。
如果你想让它起作用,你需要将 public
目录移动到 functions
目录中,并适当地更新 {"hosting": {"public": ""}}
键。