반응형
server.js
const http = require("http");
const fs = require("fs");
const _ = require("lodash");
const server = http.createServer((req, res) => {
// lodash
const num = _.random(0, 20);
console.log(num);
const greet = _.once(() => {
console.log("hello");
});
greet();
greet();
res.setHeader("Content-Type", "text/html");
let path = "./views";
switch (req.url) {
case "/":
path += "/index.html";
res.statusCode = 200;
break;
case "/about":
path += "/about.html";
res.statusCode = 200;
break;
case "/about-aaa":
res.statusCode = 301;
res.setHeader("Location", "/about");
res.end();
break;
default:
path += "/404.html";
res.statusCode = 404;
}
//send an html file
fs.readFile(path, (err, data) => {
if (err) {
console.log(err);
res.end();
} else {
// res.write(data);
res.end(data);
}
});
});
server.listen(3001, "localhost", () => {
console.log("listening for requests on port 3000");
});
위 코드를
express 를 이용해서 간단하게 구현할 수 있게 됐다
app.js
const express = require("express");
// express app
const app = express();
//listen for request
app.listen(3000);
app.get("/", (req, res) => {
// res.send("<h2>Home Page</h2>");
res.sendFile("./views/index.html", { root: __dirname });
//write과 다르게 자동적으로 텍스트 타입을 정해준다.
});
app.get("/about", (req, res) => {
// res.send("<h2>About Page</h2>");
res.sendFile("./views/about.html", { root: __dirname });
});
app.get("/about-us", (req, res) => {
res.redirect("/about");
});
// 가장 아래에 작성해야 한다
app.use((req, res) => {
res.status(404).sendFile("./views/404.html", { root: __dirname });
});
반응형
'Node.js' 카테고리의 다른 글
Node.js Crash Course Tutorial #8 - Middleware (0) | 2023.09.30 |
---|---|
Node.js Crash Course Tutorial #7 - View Engines (0) | 2023.09.30 |
[NetNinja: Nodejs 강의] 5강 NPM (0) | 2023.09.28 |
[NetNinja: Nodejs 강의] 4강 Requests & Responses (0) | 2023.09.28 |
생활코딩 Node.js (1) (1) | 2023.09.09 |