app.use(express.static(__dirname + "/public"))

이영광·2021년 9월 9일
0

Node.js

목록 보기
1/10

and __filename

static

보통 .js .css .html 값의 변화를 직접입력하지않는이상 변화하지 않는파일

익스프레스에서 static한 파일에 접근하기 위해

app.use(express.static(__dirname + "/public")) 같은 미들웨어를 사용해서

/public폴더를 설정하고 그안에서 연결시켜주면 된다

반대로 filename은 절대 파일경로이다

const express = require("express");
const expressHandlebars = require("express-handlebars");
const port = process.env.PORT || 3000;
const app = express();
app.use(express.static(__dirname + "/public")); //__dirname 폴더경로

app.engine(
 "handlebars",
 expressHandlebars({
   defaultLayout: "main",
 })
);
app.set("view engine", "handlebars");

app.get("/", (req, res) => res.render("home"));

const fortunes = [
 "Conquer your fears or they will conquer you.",
 "Rivers need springs.",
 "Do not fear what you don't know.",
 "You will have a pleasant surprise.",
 "Whenever possible, keep it simple.",
];

app.get("/about", (req, res) => {
 const randomFortune = fortunes[Math.floor(Math.random() * fortunes.length)];
 res.render("about", { fortune: randomFortune });
});
// custom 404 page
app.use((req, res) => {
 res.status(404);
 res.render("404");
});

// custom 500 page
app.use((err, req, res, next) => {
 console.error(err.message);
 res.status(500);
 res.render("500");
});

app.listen(port, () =>
 console.log(
   `Express started on http://localhost:${port}; ` +
     `press Ctrl-C to terminate.`
 )
);

handlebars로 포츈쿠기설정이 재미있었다 랜덤으로 표시되는게 인상적

profile
《REACT》《JAVASCRIPT 》 만지고있어욤

0개의 댓글