5 changed files with 106 additions and 0 deletions
@ -0,0 +1,50 @@ |
|||||
|
//načtení knihoven
|
||||
|
const http = require("http"); |
||||
|
const fs = require("fs"); |
||||
|
const path = require("path"); |
||||
|
|
||||
|
const server = http.createServer((req,res) => { |
||||
|
//přečti URL
|
||||
|
const filePath = req.url === "/" ? "pages/index.html" : `pages${req.url}.html` |
||||
|
//načti hledaný soubor
|
||||
|
fs.readFile(path.join(__dirname,filePath),"utf-8",(err,data) => { |
||||
|
//odkazy s přesměrováním
|
||||
|
if (req.url == "/youtube"){ |
||||
|
res.writeHead(302, {"Location":"https://www.youtube.com"}); |
||||
|
res.end(); |
||||
|
} |
||||
|
else if (req.url == "/git"){ |
||||
|
res.writeHead(302, {"Location":"https://git.asgard.odbornaskola.cz"}); |
||||
|
res.end(); |
||||
|
} |
||||
|
else if (err) { |
||||
|
//error handling
|
||||
|
res.writeHead(404, {"Content-type":"text/html"}); |
||||
|
res.end("<h1> 404 - Page not found </h1>"); |
||||
|
} else { |
||||
|
//když soubor je
|
||||
|
// res.writeHead(200, {"Content-type":"text/html"});
|
||||
|
// res.end(data);
|
||||
|
|
||||
|
fs.readFile(path.join(__dirname,"menu.html"), "utf-8", (err,menuContent) =>{ |
||||
|
if(err) { |
||||
|
//když server nenalezne menu.html
|
||||
|
res.writeHead(500, {"Content-type":"text/html"}); |
||||
|
res.end("<h1> 500 - Internal Server Error </h1>") |
||||
|
} else { |
||||
|
//vlož menu pro stránku do DATA stránky
|
||||
|
data = data.replace(`<div id="menu-con"></div>`, |
||||
|
`<div id="menu-con">${menuContent}</div>`); |
||||
|
//odešli upravené data
|
||||
|
res.writeHead(200, {"Content-type":"text/html"}); |
||||
|
res.end(data); |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}); |
||||
|
// na české klávesnící
|
||||
|
// ` -> AltGR + ý
|
||||
|
// $ -> AltGR + ů
|
||||
|
const PORT = 3000; |
||||
|
server.listen(PORT, ()=>console.log(`http://localhost:${PORT} Ctrl+c=STOP`)) |
@ -0,0 +1,8 @@ |
|||||
|
|
||||
|
|
||||
|
<ul> |
||||
|
<li><a href="/">Home</a></li> |
||||
|
<li><a href="/about">About</a></li> |
||||
|
<li><a href="/youtube">YouTube</a></li> |
||||
|
<li><a href="/git">Školní GIT server</a></li> |
||||
|
</ul> |
@ -0,0 +1,18 @@ |
|||||
|
{ |
||||
|
"name": "webserver_v2", |
||||
|
"version": "2.0.0", |
||||
|
"description": "maly web server¨", |
||||
|
"main": "app.js", |
||||
|
"scripts": { |
||||
|
"test": "node app.js " |
||||
|
}, |
||||
|
"keywords": [ |
||||
|
"StarterPack", |
||||
|
"webserver", |
||||
|
"web", |
||||
|
"wtl", |
||||
|
"maturita" |
||||
|
], |
||||
|
"author": "KubMak", |
||||
|
"license": "ISC" |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
<title>About</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>About</h1> |
||||
|
<div id="menu-con"></div> |
||||
|
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Tenetur dolore pariatur obcaecati consectetur incidunt doloribus ipsa aliquam a quasi eveniet iusto autem, nihil distinctio at facere, aspernatur ratione non corrupti?</p> |
||||
|
<p>Sit nesciunt deserunt sapiente eligendi tempora facilis, corporis aut delectus minus amet qui perspiciatis quisquam aliquam eaque architecto, tenetur dolorem consequatur hic impedit vel quas. Adipisci, odit nam. Autem, aspernatur!</p> |
||||
|
<p>Ipsam reprehenderit iste eius aliquid ullam id similique. Nesciunt mollitia repellendus quaerat, dolor eius accusamus rem vel ipsa iste reprehenderit facilis blanditiis dolorem doloremque. Vel odit pariatur quae aspernatur modi.</p> |
||||
|
<p>Sint delectus assumenda voluptatem quidem officia hic, odio ea esse nostrum sunt, illo totam ipsa. Laborum dicta quasi molestiae quidem enim perspiciatis consequatur doloremque deleniti, possimus commodi, magni quod. Illum.</p> |
||||
|
<p>Minima, ipsam! Quibusdam, nisi ipsum dicta cum amet assumenda. Dolore amet consequuntur suscipit aut soluta quibusdam accusantium sunt sit cum tempora sed cumque blanditiis laborum, cupiditate omnis dolorum iste doloribus!</p> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,13 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
<title>Index</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>Hlavní stránka</h1> |
||||
|
<div id="menu-con"></div> |
||||
|
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium harum quo nisi laborum? Consequatur accusamus a pariatur tempore, dolor inventore aperiam praesentium molestias minus, ducimus harum quibusdam, recusandae veniam neque.</p> |
||||
|
</body> |
||||
|
</html> |
Loading…
Reference in new issue