const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

<aside> ๐Ÿ’ก node app.js

</aside>

HTML์„ ๋กœ๋“œํ• ๋•Œ๋Š” sendFile๋กœ ๋กœ๋“œ๋ฅผ ํ•ด์คฌ์ง€๋งŒ view engine์œผ๋กœ ์„ค์ • ๋˜์—ˆ์„๋•Œ๋Š” render๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

import express from "express";

const app = express();

app.set("view engine", "pug");
app.set("views", __dirname + "/views"); //view์—”์ง„์ด ์‚ฌ์šฉ๋  directory
app.use("/public", express.static(__dirname+"/public")); //๋ฏธ๋“ค์›จ์–ด ์„ค์ •? Html๋‚ด script๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ static์ž‘์—…
app.get("/", (req, res) => res.render("home"));
app.get("/*", (req, res) => res.redirect("/"));

app.listen(3000, ()=> {
    console.log('Server running at <http://localhost:8000/>');
});
import express from "express";
import http from "http";

const app = express();

app.use("/public", express.static(__dirname+"/public"));
app.get("/", (req, res) => res.sendFile(__dirname+'/views/home.html'));
app.get("/*", (req, res) => res.redirect("/"));

app.listen(3000, ()=> {
    console.log('Server running at <http://localhost:8000/>');
});

app.use(express.static())

app.use๋Š” express๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์ •์  ํŒŒ์ผ๋“ค์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

express๋Š” ์‚ฌ์šฉ์ž์˜ ์ ‘์†์ด ์ด๋ฃจ์–ด์ง€๋ฉด, get์— ๋งž๊ฒŒ ์ž๋ฃŒ๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๋•Œ ์ž๋ฃŒ๋Š” ์ •์ ์ธ ์ฝ”๋“œ ํŒŒ์ผ์ด ์ „๋‹ฌ๋˜๋ฉฐ, ์ฝ”๋“œ ๋‚ด๋ถ€์— ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๊ฒฝ๋กœ์ƒ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด๋„, express ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์˜๋ฏธ๊ฐ€ ์—†๋‹ค.

์ด๋•Œ, use๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ํŒŒ์ผ์„ โ€˜์‚ฌ์šฉโ€™ํ•œ๋‹ค๊ณ  ์ •์˜ํ•ด ์ฃผ๋Š” ๊ณผ์ •์ธ ๊ฒƒ์ด๋‹ค.

<aside> ๐Ÿ’ก app.use(express.static(__dirname+"/public"));

</aside>

์œ„์™€ ๊ฐ™์ด ๊ธฐ๋ณธ์ ์œผ๋กœ /public ๋‚ด๋ถ€์— ํด๋ผ์ด์–ธํŠธ์šฉ JavaScript, CSS์˜ ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ , ์„œ๋ฒ„์˜ ์ •์  ํŒŒ์ผ๋กœ ์‚ฌ์šฉ ์‹œ์ผœ์ค€๋‹ค.

<aside> ๐Ÿ’ก

</aside>

ํ˜น์€ ์œ„์™€ ๊ฐ™์ด /public ํŒŒ์ผ์„ ์ •์  ํŒŒ์ผ๋กœ ์‚ฌ์šฉ์‹œํ‚ค๊ณ , ํ•ด๋‹น ํŒŒ์ผ๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ express ์ƒ์˜ ๊ฒฝ๋กœ๋ฅผ /publicpath๋กœ ์ •์˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. defualt๋Š” โ€œโ€๋กœ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ, ํ•ด๋‹น ํด๋”๋กœ์˜ ์ด๋™์€ ์ƒ๋žตํ•˜๊ณ  ์ฆ‰์‹œ ๋‚ด๋ถ€ ํด๋”์˜ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

<aside> ๐Ÿ’ก

app.use(โ€/publicpathโ€, express.static(__dirname+"/public"));

</aside>