From ee6a887cd351616fe112ddea95f93fe0b18ee304 Mon Sep 17 00:00:00 2001 From: Nazira Date: Fri, 28 Aug 2026 05:55:01 +0000 Subject: [PATCH] add local server --- .gitignore | 3 +++ package.json | 8 ++++++++ server.js | 19 +++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 .gitignore create mode 100644 package.json create mode 100644 server.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..25006ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +.vibe42-run.log +.vibe42-run.pid diff --git a/package.json b/package.json new file mode 100644 index 0000000..45775b4 --- /dev/null +++ b/package.json @@ -0,0 +1,8 @@ +{ + "name": "vacation-planner", + "private": true, + "type": "commonjs", + "scripts": { + "start": "node server.js" + } +} diff --git a/server.js b/server.js new file mode 100644 index 0000000..68d6afa --- /dev/null +++ b/server.js @@ -0,0 +1,19 @@ +const http = require("http"); +const fs = require("fs"); +const path = require("path"); + +const PORT = process.env.PORT || 3000; + +http.createServer((req, res) => { + let file = req.url === "/" ? "/index.html" : req.url.split("?")[0]; + const full = path.join(__dirname, file); + + if (full.startsWith(__dirname) && fs.existsSync(full) && fs.statSync(full).isFile()) { + const ext = path.extname(full); + const type = ext === ".css" ? "text/css" : ext === ".js" ? "application/javascript" : "text/html"; + res.writeHead(200, { "Content-Type": type + "; charset=utf-8" }); + return res.end(fs.readFileSync(full)); + } + + res.writeHead(404); res.end("Not found"); +}).listen(PORT, () => console.log("Планировщик отпуска на порту " + PORT));