Наткнулся на ответы на вопросы только для Node, но, похоже, не может найти ответ, когда это сервер Express, размещенный на Firebase.
Проблема, с которой я столкнулся, заключается в том, что файл config.css небыть обнаруженным независимо от того, что я делаю.Я пытался использовать Express Middleware для изменения корня, но есть проблемы, когда он говорит, что MIME-тип неверен.В другой раз это говорит 404 не найдено.
Дайте мне знать, если есть какие-либо другие детали, которые я должен предоставить.
index.js file:
const functions = require('firebase-functions');
const firebase = require('firebase-admin');
const express = require('express');
const engines = require('consolidate');
const bodyParser = require("body-parser");
var config = {
<config details here>
};
const firebaseApp = firebase.initializeApp(functions.config().firebase);
const database = firebase.database();
const hbs = require('handlebars');
const getUpdates = () => {
return new Promise((resolve, reject) => {
try {
const ref = firebaseApp.database().ref('servers');
resolve(ref.orderByChild("sortDate").once("value"), ref);
} catch (e) {
reject(e);
}
});
};
const app = express();
app.engine('hbs', engines.handlebars);
app.set('views', './views');
app.set('view engine', 'hbs');
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.post("/config", function (req, res) {
let pushObject = req.body;
pushObject.time = new Date();
pushObject.sortDate = new Date();
console.log(pushObject)
firebase.database().ref('servers/testserver').set(pushObject, (error) => {
if (error) {
console.log(error);
} else {
console.log('Message pushed')
}
});
res.redirect('back');
});
app.get('/config', (request, response) => {
response.set('Cache-Control', 'public, max-age=0, s-maxage=0');
getUpdates().then((updates, ref) => {
const updatesList = updates.val();
response.render('index', updatesList );
return;
});
});
exports.app = functions.https.onRequest(app);
Файл index.hbs:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" type="text/css" href="/config.css">
<title>Config Server</title>
</head>
<body>
<div class="navbar">
{{test}}
</div>
</body>
</html>
</html>