Browse Source

webv2

master
Jakub Škrabánek 8 months ago
parent
commit
1800a158d9
  1. 6
      README.md
  2. 51
      webserver_v2/index.js
  3. 10
      webserver_v2/menu.html
  4. 20
      webserver_v2/package.json
  5. 19
      webserver_v2/pages/about.html
  6. 14
      webserver_v2/pages/index.html
  7. 19
      webserver_v2/pages/profily.html

6
README.md

@ -1,2 +1,8 @@
# 4im_node
Repozitář pro práci s NodeJS ve 4.ročníku web pro školní rok 2024/2025
### příkazy
- `npm init` - vytvoření package.json
- `npm -v` - zjištění NPM verze
- `node <server>.js` - zapnutí NodeJS skriptu (nejčastěji naše webservery) [<server> název souboru nejčastěji *index.js*]

51
webserver_v2/index.js

@ -0,0 +1,51 @@
//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) => {
if (req.url == "/youtube") {
//HTTP status code 302
res.writeHead(302, {"Location":"https://www.youtube.com"});
res.end();
}
else if (err){
//když soubour není
res.writeHead(404, {"Content-type":"text/html"})
res.end("<h1> 404 </h1>")
} else {
//když soubor je
// res.writeHead(200, {"Content-type" : "text/html"})
// res.end(data);
//přečti menu pro stranku a vlož do 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 do data stránky
data = data.replace(`<div id="menu-con"></div>`,
`<div id="menu-con">${menuContent}</div>`);
//vlož data
res.writeHead(200, {"Content-type" : "text/html"})
res.end(data);
}
})
}
})
})
const PORT = 3000;
// na české klávesnici
// ` ->Pravý ALT + 7 (nad písmeny)
// $ -> pravý ALT + ů
server.listen(PORT, () => console.log(`http://localhost:${PORT} CTRL+C=STOP`))

10
webserver_v2/menu.html

@ -0,0 +1,10 @@
<!-- menu.html obsahuje pouze položky v menu
v pages bude toto vloženo do:
<div id="menu-con"></div>
-->
<ul>
<li><a href="/">HOME</a></li>
<li><a href="about">About</a></li>
<li><a href="youtube">YouTube</a></li>
</ul>

20
webserver_v2/package.json

@ -0,0 +1,20 @@
{
"name": "webserver_v2",
"version": "2.0.0",
"description": "Maly web server",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"StarterPack",
"Webserver",
"web",
"server",
"begginner",
"school",
"4IM"
],
"author": "KubMakCZ",
"license": "ISC"
}

19
webserver_v2/pages/about.html

@ -0,0 +1,19 @@
<!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>
<hr>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores vel, at excepturi doloribus alias natus optio consequuntur, sed odit eveniet rerum exercitationem id quod, ratione pariatur fugiat! Culpa, corrupti architecto.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt fugiat quae voluptas reiciendis. Numquam a aspernatur sint, velit beatae, sed ipsam maxime rerum in at deleniti, exercitationem saepe quas vitae.</p>
<p>Exercitationem tenetur mollitia ab modi ad porro blanditiis in rerum commodi maxime sequi beatae voluptates eius provident, eligendi ipsum similique iusto neque ea veniam qui odit nam? Officiis, voluptate accusamus.</p>
<p>Quod in facilis blanditiis explicabo ipsum molestiae eos accusamus, reprehenderit voluptatibus a magnam veritatis ut temporibus tempora, delectus quae exercitationem ab nihil cumque facere sed repellendus sunt natus! Porro, corporis.</p>
<p>Earum dolore mollitia repellendus eveniet ipsum amet vitae ab voluptatibus? Minima nisi architecto ipsa ducimus quas, dicta, id expedita at eos corporis magnam quae provident excepturi aspernatur hic quisquam ipsum.</p>
<p>Dolorem placeat repellat praesentium autem itaque natus nisi? Esse, sequi optio. Accusamus assumenda repudiandae minus tenetur. Obcaecati quisquam similique voluptatem mollitia a aperiam minus dolores, repellendus voluptatum? Magni, et repellat!</p>
</body>
</html>

14
webserver_v2/pages/index.html

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>welcome</title>
</head>
<body>
<h1>WELCOME</h1>
<div id="menu-con"></div>
<hr>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores vel, at excepturi doloribus alias natus optio consequuntur, sed odit eveniet rerum exercitationem id quod, ratione pariatur fugiat! Culpa, corrupti architecto.</p>
</body>
</html>

19
webserver_v2/pages/profily.html

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Profle</title>
</head>
<body>
<h1>Profily</h1>
<div id="menu-con"></div>
<hr>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores vel, at excepturi doloribus alias natus optio consequuntur, sed odit eveniet rerum exercitationem id quod, ratione pariatur fugiat! Culpa, corrupti architecto.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt fugiat quae voluptas reiciendis. Numquam a aspernatur sint, velit beatae, sed ipsam maxime rerum in at deleniti, exercitationem saepe quas vitae.</p>
<p>Exercitationem tenetur mollitia ab modi ad porro blanditiis in rerum commodi maxime sequi beatae voluptates eius provident, eligendi ipsum similique iusto neque ea veniam qui odit nam? Officiis, voluptate accusamus.</p>
<p>Quod in facilis blanditiis explicabo ipsum molestiae eos accusamus, reprehenderit voluptatibus a magnam veritatis ut temporibus tempora, delectus quae exercitationem ab nihil cumque facere sed repellendus sunt natus! Porro, corporis.</p>
<p>Earum dolore mollitia repellendus eveniet ipsum amet vitae ab voluptatibus? Minima nisi architecto ipsa ducimus quas, dicta, id expedita at eos corporis magnam quae provident excepturi aspernatur hic quisquam ipsum.</p>
<p>Dolorem placeat repellat praesentium autem itaque natus nisi? Esse, sequi optio. Accusamus assumenda repudiandae minus tenetur. Obcaecati quisquam similique voluptatem mollitia a aperiam minus dolores, repellendus voluptatum? Magni, et repellat!</p>
</body>
</html>
Loading…
Cancel
Save