πŸ“¦ SeolJaeHyeok / My-shopping-mall

πŸ“„ views-router.js Β· 55 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55import express from "express";
import path from "path";

const viewsRouter = express.Router();

// νŽ˜μ΄μ§€λ³„λ‘œ html, css, js νŒŒμΌλ“€μ„ λΌμš°νŒ…ν•¨
// μ•„λž˜μ™€ 같이 ν•˜λ©΄, http://localhost:5000/ μ—μ„œλŠ” views/home/home.html νŒŒμΌμ„,
// http://localhost:5000/register μ—μ„œλŠ” views/register/register.html νŒŒμΌμ„ 화면에 띄움
viewsRouter.use("/", serveStatic("home"));
viewsRouter.use("/register", serveStatic("register"));
viewsRouter.use("/login", serveStatic("login"));
viewsRouter.use("/account", serveStatic("account"));
viewsRouter.use("/account/orders", serveStatic("account/orders", "orders"));
viewsRouter.use(
  "/account/security",
  serveStatic("account/security", "security")
);
viewsRouter.use("/account/signout", serveStatic("account/signout", "signout"));
viewsRouter.use("/product/add", serveStatic("product/add", "product-add"));
viewsRouter.use("/product/list", serveStatic("product/list", "product-list"));
viewsRouter.use(
  "/product/detail",
  serveStatic("product/detail", "product-detail")
);
viewsRouter.use("/cart", serveStatic("cart"));
viewsRouter.use("/order", serveStatic("order"));
viewsRouter.use(
  "/order/complete",
  serveStatic("order/complete", "order-complete")
);
viewsRouter.use("/admin", serveStatic("admin"));
viewsRouter.use("/admin/users", serveStatic("admin/users", "users"));
viewsRouter.use("/admin/orders", serveStatic("admin/orders", "admin-orders"));
viewsRouter.use("/category/add", serveStatic("category/add", "category-add"));
viewsRouter.use("/product/edit", serveStatic("product/edit", "product-edit"));
viewsRouter.use(
  "/category/edit",
  serveStatic("category/edit", "category-edit")
);

// views ν΄λ”μ˜ μ΅œμƒλ‹¨ 파일인 rabbit.png, api.js 등을 μ“Έ 수 있게 함
viewsRouter.use("/", serveStatic(""));

// views폴더 λ‚΄μ˜ ${resource} 폴더 λ‚΄μ˜ λͺ¨λ“  νŒŒμΌμ„ 웹에 λ„μš°λ©°,
// 이 λ•Œ ${resource}.html 을 κΈ°λ³Έ 파일둜 섀정함.
function serveStatic(resource, fileName = resource) {
  const resourcePath = path.join(__dirname, `../views/${resource}`);
  const option = { index: `${fileName}.html` };

  // express.static 은 express κ°€ 기본으둜 μ œκ³΅ν•˜λŠ” ν•¨μˆ˜μž„
  return express.static(resourcePath, option);
}

export { viewsRouter };