-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
53 lines (53 loc) · 2.87 KB
/
index.js
File metadata and controls
53 lines (53 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//Підключаємо залежність express
var express = require("express");
//Підключаємо залежність body-parser
var bodyParser = require("body-parser");
//Викликаємо express
var app = express();
//Надаємо доступ до папки public
app.use(express.static("public"));
//Вмикаємо body-parser
app.use(bodyParser.urlencoded({ extended: true }));
//Налаштовуємо обробник шаблонів
app.set("view engine", "ejs");
//Визначаємо початковий масив доданих завдань
var task = ["Опанувати JavaScript", "Опанувати Node.js"];
//Визначаємо початковий масив виконаних завдань
var complete = ["Опанувати HTML та CSS", "Опанувати Git та GitHub"];
//Визначаємо маршрут публікації для додавання нового завдання
//в масив доданих завдань
app.post("/addnewtask", function (req, res) {
var newTask = req.body.newtask;
//Додаємо нове завдання з маршруту публікації в масив доданих завдань
task.push(newTask);
//Повертаємося до маршруту root(/)
res.redirect("/");
});
//Визначаємо маршрут публікації для переміщення нового відміченого як виконане
//завдання у масив виконаних завдань
app.post("/movetocompletetask", function (req, res) {
var completeTask = req.body.check;
//Перевіряємо наявність нового відміченого як виконане завдання і
//додаємо його до масиву виконаних завдань
if (typeof completeTask === "string") {
complete.push(completeTask);
//Перевіряємо, чи нове відмічене як виконане завдання вже виходить у
//масив виконаних завдань і вилучаємо його з масиву доданих завдань
task.splice(task.indexOf(completeTask), 1);
} else if (typeof completeTask === "object") {
for (var i = 0; i < completeTask.length; i++) {
complete.push(completeTask[i]);
task.splice(task.indexOf(completeTask[i]), 1);
}
}
//Повертаємося до маршруту root(/)
res.redirect("/");
});
//Відображаємо index.ejs, додані і виконані завдання
app.get("/", function (req, res) {
res.render("index", { task: task, complete: complete });
});
//Налаштовуємо сервер для прослуховування порту 3000
app.listen(3000, function () {
console.log("Сервер працює на порту 3000!");
});