Browse Source

webserver_v2

master
Jakub Škrabánek 3 days ago
parent
commit
fe9d3c804c
  1. 54
      03_webserver2/app.js
  2. 8
      03_webserver2/menu.html
  3. 19
      03_webserver2/package.json
  4. 49
      03_webserver2/pages/about.html
  5. 16
      03_webserver2/pages/index.html

54
03_webserver2/app.js

@ -0,0 +1,54 @@
//načtení knihoven
const http = require("http")
const fs = require("fs")
const path = require("path")
const server = http.createServer((req,res) => {
//nalzeni soubor za pomocí "zjednodušeného linku"
const filePath = req.url === "/" ? "pages/index.html":`pages${req.url}.html`//AltGr+ý
//načti soubor z odkazu
fs.readFile(path.join(__dirname,filePath),"utf-8",(err,data)=>{
//nejdříve zjistíme jetli chceme náš soubor nebo přesměrování
//přesměrování je dřív z důvodu ušetření načítaní dat z HTML
// if(req.url == "/presmerovani") {
// res.writeHead(302,{"Location":"https://<odkaz>"})
// res.end()
// }
if(req.url == "/git") {
res.writeHead(302,{"Location":"https://git.asgard.odbornaskola.cz"})
res.end()
} else if(req.url == "/youtube") {
res.writeHead(302,{"Location":"https://www.youtube.com/watch?v=iik25wqIuFo"})
res.end()
} else if (err) {
//ERROR HANDLING
res.writeHead(404, {"content-type":"text/html"})
res.end("<h1> 4☺4 - Page NOT Found </h1>")
} else {
//KDYŽ UŽ VÍME ŽE CHCEME SOUBOR
//aneb zapneme část kodu na zpracování
//jakéhokoliv html v složce pages
//"čistné čtení"
// res.writeHead(200,{"content-type":"text/html; charset=utf-8"})
// res.end(data)
fs.readFile(path.join(__dirname,"menu.html"),"utf-8",(err,menuContent)=>{
if(err){
res.writeHead(500,{"Content-type":"text/html"});
res.end("<h1> 500 - Internal Server Error </h1>");
} else {
//vlož menu proi stránku do DATA stránky
data = data.replace(`<div id="menu-component"></div>`,
`<div id="menu-component">${menuContent}</div>`);
//odešli upravené data společně s menu
res.writeHead(200,{"content-type":"text/html"});
res.end(data);
}
})
}
})
})
const PORT = 3000
server.listen(PORT,()=>console.log(`http://localhost:${PORT} Ctrl+C=STOP`))

8
03_webserver2/menu.html

@ -0,0 +1,8 @@
<div class="menu">
<ul>
<li><a href="/">HOME</a></li>
<li><a href="/about">About</a></li>
<li><a href="/git">GIT SERVER</a></li>
<li><a href="/youtube">YouTube suprise</a></li>
</ul>
</div>

19
03_webserver2/package.json

@ -0,0 +1,19 @@
{
"name": "webserver_v2",
"version": "2.0.0",
"description": "maly web server",
"keywords": [
"StarterPack",
"webserver",
"web",
"wtl",
"maturita"
],
"license": "ISC",
"author": "skrabanek",
"type": "commonjs",
"main": "app.js",
"scripts": {
"test": "node app.js"
}
}

49
03_webserver2/pages/about.html

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>ABOUT PAGE</h1>
<div id="menu-component"></div>
<!-- p*6>u>(lorem+br)*2+hr -->
<p>
<u>
<span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Mollitia iure, qui earum nemo quae id quisquam culpa rerum sint est ab quaerat distinctio animi perspiciatis unde doloremque adipisci harum aspernatur.</span><br><span>Sapiente quisquam esse cum eaque voluptate, laboriosam numquam voluptatem dolorum totam laborum quia ut deleniti magni maxime amet distinctio dignissimos quos corrupti nemo ipsa doloribus fugit aperiam ratione! Beatae, harum.</span><br>
<hr>
</u>
</p>
<p>
<u>
<span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Expedita tempore id eius veritatis illum! Non dolorem quidem aut in totam necessitatibus, natus quam consectetur molestias, odio, officia architecto nisi porro!</span><br><span>Animi est in adipisci ullam nesciunt praesentium ratione maxime quam deleniti dolores magnam non impedit dolorem deserunt magni numquam maiores quos corrupti nihil ipsum, id, iste rerum sequi cum. Aspernatur!</span><br>
<hr>
</u>
</p>
<p>
<u>
<span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Expedita voluptatibus dignissimos magnam eius numquam architecto doloribus nisi, earum inventore, blanditiis beatae commodi doloremque deserunt repudiandae dolorem voluptate sapiente libero minima.</span><br><span>Optio maxime inventore ab est, quasi quod commodi sapiente. Architecto dignissimos veniam eum, molestias quo placeat aut, quaerat, quisquam culpa reprehenderit quod! Error ea quaerat laborum ratione, laboriosam at ipsa!</span><br>
<hr>
</u>
</p>
<p>
<u>
<span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Asperiores nihil repellat provident expedita nemo! Ex rem sapiente molestias deleniti corrupti, necessitatibus sunt odit nesciunt odio, quo voluptates, aliquam fugit amet!</span><br><span>Iusto blanditiis saepe dicta eaque corrupti qui, nisi eveniet. Eius excepturi aperiam velit, illum, consequatur tempore nihil eveniet veniam omnis enim odio repellat, perspiciatis quibusdam nobis ratione maxime accusamus cumque.</span><br>
<hr>
</u>
</p>
<p>
<u>
<span>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Voluptatem hic autem corporis, non reiciendis deserunt incidunt velit a odit, recusandae voluptas omnis mollitia ad magnam est quam molestias quisquam tempore.</span><br><span>Sapiente pariatur, incidunt perferendis ad, aspernatur adipisci quos illo quas suscipit corrupti quod soluta. Obcaecati repellat eligendi maxime magnam accusantium molestiae ipsam tempora veniam in fugiat, repudiandae voluptates iure magni?</span><br>
<hr>
</u>
</p>
<p>
<u>
<span>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Fugiat quae totam corporis ipsa natus quaerat odit veritatis deleniti facere illum tenetur, quas dolore provident facilis velit assumenda blanditiis voluptatum ducimus?</span><br><span>Omnis iste culpa expedita ipsa blanditiis repellat ducimus hic enim totam? Eius atque a necessitatibus sed possimus, dolores accusamus optio consequuntur nihil omnis! Neque laboriosam perspiciatis repellendus ratione? Voluptatibus, quos.</span><br>
<hr>
</u>
</p>
</body>
</html>

16
03_webserver2/pages/index.html

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Test malýho webserveru</h1>
<div id="menu-component"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ducimus facilis quisquam vero inventore eos iste et quo pariatur ipsa reiciendis, quod molestias similique iure dignissimos nihil cupiditate consectetur omnis! Dolorum?</p>
<p>Aperiam beatae vitae esse corporis culpa nemo doloremque at vel quia deserunt veniam, alias provident molestias voluptas quibusdam voluptatem eos consequatur nesciunt reiciendis hic enim recusandae. Assumenda in et voluptas!</p>
<p>Iusto, perspiciatis illum? Doloremque, nostrum quis vero dicta iste veritatis impedit repellendus consequatur quas ipsa tempore placeat iure neque vel facere quae? Nulla officia esse amet voluptatum deleniti fugit exercitationem?</p>
<p>Saepe facilis quaerat suscipit, voluptatem laboriosam nemo hic modi aliquam quidem unde natus veniam aspernatur asperiores sapiente eaque, blanditiis harum quam, autem eius perspiciatis architecto rerum? Ratione eius nihil veniam?</p>
</body>
</html>
Loading…
Cancel
Save