Node.js의 Core Module로 Http Server 만들기
const http = require("http");
const server = http.createServer((request, response) => {
console.log('My First Server');
});
server.listen(3000); //set port number!
Node.js의 Core Module인 http를 통해 기본적인 Http Server를 만들 수 있습니다.
Username을 입력받고 user.txt에 값을 저장하는 기능을 만들어 보겠습니다!
app.js
const http = require("http");
const requestListener = require("./routes");
const server = http.createServer(requestListener);
server.listen(3000);
routes.js
const fs = require('fs');
const requestListener = (req, res) => {
const url = req.url;
const method = req.method;
if (url === "/") {
res.setHeader("Content-Type", "text/html");
res.write("<html>");
res.write(
'<head>
<form action="/create-user" method="POST">
<input type="text" name="user">
<button type="submit">User 1</button>
</form>
</head>'
);
res.write("</html>");
return res.end();
}
if (url === "/users") {
res.setHeader("Content-Type", "text/html");
res.write("<html>");
res.write("<head><ul><li>User 1</li></ul></head>");
res.write("</html>");
return res.end();
}
if (url === "/create-user" && method === "POST") {
const body = [];
req.on("data", (chunk) => {
body.push(chunk);
});
return req.on("end", () => {
const parsedBody = Buffer.concat(body).toString();
const userInfo = parsedBody.split("=")[1];
console.log(userInfo);
fs.writeFileSync("user.txt", userInfo);
res.statusCode = 302;
res.setHeader("Location", "/");
res.end();
});
}
};
module.exports = requestListener;
'Web > Node.js' 카테고리의 다른 글
Node.js / Express.js에서 Middleware란? (0) | 2020.09.01 |
---|---|
Node.js / Express.js 소개 (0) | 2020.09.01 |
Node.js 소개 및 설치 방법! (0) | 2020.08.24 |