๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[CRUD์ ์ด์ฉํ File upload Web] (4) ejs๋ก ๋ฉ์ธ html ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
๐ฉ๐ป ๋ฐฑ์๋(Back-End)/Node js
[CRUD์ ์ด์ฉํ File upload Web] (4) ejs๋ก ๋ฉ์ธ html ๋ง๋ค๊ธฐ
์ง์ง์ํ์นด 2023. 3. 10. 01:29728x90
๋ฐ์ํ
<๋ณธ ๋ธ๋ก๊ทธ๋ DCodeMania ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋ :-)>
=> CRUD App With Image Upload Using NodeJs, ExpressJs, MongoDB & EJS Templating Engine
๐ฅ ejs๋ก html ๊พธ๋ฏธ๊ธฐ
ejs๋ Embedded JavaScript Template์ ์ฝ์๋ก nodejs ์ง์์์ ๋ง์ด ์ฌ์ฉํ๋ ํ ํ๋ฆฟ ์์ง
index.ejs๋ก ํ๊บผ๋ฒ์ ๊พธ๋ช์ง๋ง
๋ฉ์ธ (index) => footer๊ณผ header๋ก ๋๋์ด์ index ์์ ํฉ์นจ
์ ์ (addUsers) => ์ ์ ๋ฑ๋กํ๋ ํ์ด์ง
๋ถํธํธ๋ฉ ์ฌ์ฉํจ https://cdnjs.com/
๐ง views/layout/header.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
<%= title %>
</title>
<!-- ๋ถํธํธ๋ฉ ์ฌ์ฉ -->
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.0-beta2/css/bootstrap.min.css"
integrity="sha512-aqT9YD5gLuLBr6ipQAS+72o5yHKzgZbGxEh6iY8lW/r6gG14e2kBTAJb8XrxzZrMOgSmDqtLaF76T0Z6YY2IHg=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css"
integrity="sha512-HK5fgLBL+xu6dm/Ii3z4xhlSUyZgTT9tuc/hSrtw6uzJOvgRr2a9jyxxT1ely+B+xFAmJKVSTbpM/CuL7qxO8w=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a href="/" class="navbar-brand"><i class="fas fa-code me-2"></i>GANI</a>
<button class="navbar-toggler" data-bs-target="#my-nav" data-bs-toggle="collapse" aria-controls="my-nav"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="my-nav" class="collapse navbar-collapse">
<ul class="navbar-nav ms-auto">
<li class="nav-item active">
<a class="nav-link" href="/"><i class="fas fa-home me-1"></i>Home</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/add"><i class="fas fa-user-plus me-1"></i>Add user</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="#"><i class="fas fa-globe me-1"></i>About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="#"><i class="fas fa-envelope me-1"></i>Contact</a>
</li>
</ul>
</div>
</div>
</nav>
๐ง views/layout/footer.ejs
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.0-beta2/js/bootstrap.bundle.min.js"
integrity="sha512-43iShtbiyImxjjU4a9rhXBy7eKtIsrpll8xKhe1ghKqh5NyfME8phZs5JRFZpRBe1si44WM3tNmnqMym7JRmDQ=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</body>
</html>
๐ง views/layout/index.ejs
<%- include("layout/header") %>
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1>
Home page Content
</h1>
</div>
</div>
</div>
<%- include("layout/footer") %>
๐ง views/addUser.ejs
<%- include("layout/header") %>
<div class = "container">
<div class = "row">
<div class = "col-lg-12">
<h1>
Add users page
</h1>
</div>
</div>
</div>
<%- include("layout/footer") %>
๐ง views/index.ejs
<%- include("layout/header") %>
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1>
Home page Content
</h1>
</div>
</div>
</div>
<%- include("layout/footer") %>
๐ฅ ๋ผ์ฐํฐ์ ejs์ ์ฐ๋
๐ง routes/routes.js
const express = require("express");
const router = express.Router();
// Home (ejs ์ ์ฐ๋)
router.get("/", (req, res) => {
res.render("index", { title : "Home" });
});
router.get("/add", (req, res) => {
res.render("addUsers", { title : "Add users" });
})
728x90
๋ฐ์ํ
'๐ฉโ๐ป ๋ฐฑ์๋(Back-End) > Node js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments