Add support for frontend app in express server

This commit is contained in:
2025-05-09 14:33:16 +02:00
parent 192f21c3a6
commit 80977ee896
5 changed files with 19 additions and 642 deletions

View File

@@ -9,27 +9,8 @@ import path from 'path';
export function serve(config: Config, port: number) {
const app = express();
app.set('view engine', 'pug');
app.set('views', path.join(__dirname, '../../views'));
app.use(express.static('public'));
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
const upload = multer({ storage: multer.memoryStorage() });
app.get("/", (req, res) => {
res.render('index', {
profiles: Object.keys(config.profiles),
servers: Object.keys(config.servers),
defaultProfile: config.defaultProfile,
defaultServer: config.defaultServer
});
});
app.get("/config", (req, res) => {
res.json({
profiles: Object.keys(config.profiles),
@@ -61,7 +42,12 @@ export function serve(config: Config, port: number) {
res.send(response);
});
app.use(express.static(path.join(__dirname, '../../public')));
app.get('*public', (req, res) => {
res.sendFile(path.join(__dirname, '../../', 'public', 'index.html'));
});
app.listen(port, () => {
console.log(`Server running on ${port} port`);
});