$ npm install ejs
< 설치 후, package.json directory >
: ejs 설치 완료.
< test.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>Document</title>
</head>
<body>
Hi. My name is <%= name %><br>
</body>
</htm
1) ejs 셋팅
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
2) 셋팅한 ejs 사용하기!
=> 경로가 /test 로 들어올 경우, 뿌려준다.
app.get('/test', (req, res) => {
let name = req.query.name;
res.render('test', {name});
})
3) 실행 화면
Hi. My name is <%= name %><br>
1) 중간에 이 부분이 있는데요 저 뒷부분에 <%= name %>
이게 있지만 실제 화면에서는 아무것도 보이지 않습니다. 이부분이 ejs 템플릿 문법으로 만약에 name 이라는 변수가 넘어온 것이 있으면 그것을 출력하는 것인데 지금 우리가 넘겨준 것이 없으므로 아무것도 출력하지 않습니다.
2) 2. 그럼 그 변수를 넘겨준다는 표현은 무엇일까요? 앞서 index.js 파일 부분을 다시 보겠습니다.
app.get('/test', (req, res) => {
let name = req.query.name;
res.render('test', {name});
})
test
와 {name}
두 개의 인자를 넘겨줍니다. 이는 test.ejs 파일을 그리란 뜻이고 그 ejs 파일에 name 값을 객체로 넘겨준다는 의미입니다. 그렇다면 우리는 name 값을 안 넘겨줘서 아무것도 안 뜬 것은 아닙니다. 분명 여기서 name 이라는 변수를 위에서 생성해서 넘겨주고 있습니다.