Я создаю блог с использованием Node js и Express и размещаю его на firebase. Когда я обслуживаю веб-сайт локально, все работает очень хорошо, и HTML обслуживается, как и ожидалось. Но когда я развертываю сервер, маршруты больше не работают, и HTML-файлы не могут быть найдены. Я уверен, что это связано с тем, как firebase deploy содержит html-файлы.
Я не совсем уверен, куда идти отсюда. Я не могу найти хорошего руководства о том, как настроить что-то подобное в документах Firebase.
const functions = require("firebase-functions")
const cors = require("cors")
const express = require("express")
const path = require("path")
/* Express with CORS */
const app = express()
app.use(cors({ origin: true }))
app.get("/", (request, response) => {
response.send("Hello from Express on Firebase with CORS!")
})
//File path consts
const publicDir = "/Users/wilson/wildman-talks-fb/public";
const blogDir = "/Users/wilson/wildman-talks-fb/public/blogs";
app.get("/about/", (req, res) =>{
res.sendFile(path.join(publicDir, "/about.html"));
});
app.get("/contact/", (req, res) =>{
res.sendFile(path.join(publicDir, "/contact.html"));
});
app.get("/tools/", (req, res) =>{
res.sendFile(path.join(publicDir, "/tools.html"));
});
app.get("/five-steps-july-20/", (req, res) =>{
//res.send(path.join(publicDir, "/five-steps-july-20.html"));
res.sendFile(path.join(publicDir, "/five-steps-july-20.html"));
})
exports.app = functions.https.onRequest(app)
Итак, когда я размещаю сайт локально, все ссылки на моей веб-странице работают на другие html-страницы моего сайта. При развертывании на firebase я получаю 404 ошибки. Я смог использовать path.join (__dirname, "../public") и распечатать все содержащиеся в нем файлы. Когда я сделал это, это были файлы, которые были на моем локальном хосте: [".DS_Store", "404.html", "about.html", "blogs", "contact.html", "css", "five -steps-июль-20.html», "IMG", "index.html", "JS", "почта", "tools.html", "поставщик"]. После развертывания он просто возвращает ошибку 500, так что, думаю, это не поможет.