-
4 . Implementation of detailed pageBackend/Express (생활 코딩 Youtube) 2022. 7. 27. 01:04
var path = require("path"); var sanitizeHtml = require("sanitize-html");
path 는 경로를 의미, 경로를 의미하는 module 을 가져온다.
- path 모듈은 폴더와 파일의 경로를 지정해주는 모듈
app.get("/page/:pageId", (req, res) => { fs.readdir("./data", function (error, filelist) { var filteredId = path.parse(req.params.pageId).base; fs.readFile(`data/${filteredId}`, "utf8", function (err, description) { var title = req.params.pageId; var sanitizedTitle = sanitizeHtml(title); var sanitizedDescription = sanitizeHtml(description, { allowedTags: ["h1"], }); var list = template.list(filelist); var html = template.HTML( sanitizedTitle, list, `<h2>${sanitizedTitle}</h2>${sanitizedDescription}`, ` <a href="/create">create</a> <a href="/update?id=${sanitizedTitle}">update</a> <form action="delete_process" method="post"> <input type="hidden" name="id" value="${sanitizedTitle}"> <input type="submit" value="delete"> </form>` ); res.send(html); }); }); });
fs.readdir("./data", function (error, filelist)
var filteredId = path.parse(req.params.pageId).base;
path.parse(경로):
파일 경로를 인자로 받아, root, dir, base, ext, name으로 분리한 후 해당 내용을 담은 객체값을 리턴한다.
'./data' 에 있는 파일들을 객체로 리턴한다.
* req.params.pageId=> 여기서는 파일의 이름 'HTML'이 될것이다.
출처: https://inpa.tistory.com/entry/NODE-📚-Path-모듈-🧷-경로-제어#pathparse [👨💻 Dev Scroll:티스토리]
'Backend > Express (생활 코딩 Youtube)' 카테고리의 다른 글
7. DELETE PAGE (0) 2022.07.27 5. page create (0) 2022.07.27 3 . Route Parameter (0) 2022.07.27 2. Homepage Implementation (About 'get' & 'fs') (0) 2022.07.27 1. nodejs-express Basic Setting / BASIC EXPRESS REQUIRE (0) 2022.07.26