53 lines
1.5 KiB
JavaScript
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);
|