1
0
Files
pi-weather-station/server/index.js
T
2024-07-15 20:55:29 +10:00

53 lines
1.5 KiB
JavaScript

const express = require("express");
const bodyParser = require("body-parser");
const path = require("path");
const cors = require("cors");
const open = require("open");
const ver = require("../package.json").version;
const appName = require("../package.json").name;
const settingsCtrl = require("./settingsCtrl");
const geolocationCtrl = require("./geolocationCtrl");
const {
getSettings,
setSetting,
deleteSetting,
createSettingsFile,
replaceSettings,
} = settingsCtrl;
const { getCoords } = geolocationCtrl;
const DIST_DIR = "/../client/dist";
const PORT = 8080;
const app = express();
// ***** dev only:
// const livereload = require("livereload");
// const connectLivereload = require("connect-livereload");
// const liveReloadServer = livereload.createServer();
// liveReloadServer.watch(path.join(`${__dirname}/${DIST_DIR}`));
// liveReloadServer.server.once("connection", () => {
// setTimeout(() => {
// liveReloadServer.refresh("/");
// }, 100);
// });
// app.use(connectLivereload());
// *****
app.use(cors());
app.use(bodyParser.json());
app.use(express.static(path.join(`${__dirname}/${DIST_DIR}`)));
app.listen(PORT, async () => {
await open(`http://localhost:${PORT}`);
console.log(`${appName} v${ver} has started on port ${PORT}`);
});
app.get("/settings", getSettings);
app.post("/settings", createSettingsFile);
app.put("/settings", replaceSettings);
app.patch("/setting", setSetting);
app.delete("/setting", deleteSetting);
app.get("/geolocation", getCoords);