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));