프로그래밍/Node.js

Node.js 생활코딩 정리 - Express프레임워크 템플릿 엔진(Jade 또는 pug) 사용 방법

가카리 2016. 11. 21. 20:43
반응형

 

왼쪽화면을 오른쪽의 소스로 만들수 있는 것이 템플릿 엔진이다. (즉 for문 사용가능)

 

 

이제 jade가 pug으로 이름이 바뀜

 

var express = require('express');

var app = express();

 

app.locals.pretty = true;//jade에서 자동 줄바꿈해줌

 

//view engine 템플릿 엔진이라는 의미 jade express 연결하는 코드임

app.set('view engine', 'jade');

app.set('views', './views');//views라는 폴더를 만들고 jade파일을 여기에 넣어야함

 

app.use(express.static('public'));//public 폴더를 정적으로 변환

 

//템플릿 엔진을 쓰면 send 아닌 render 메서드를 써야한다.

app.get('/template', function(req, res){

res.render('temp', {time: Date(), _title: 'kch'});//temp.jade 파일을 가져와서 렌더링함 두번째 인자는 jade파일로 보낼 객체

});

 

app.get('/', function(req, res){//'/' 홈으로 접속한 것을 의미

res.send('Hello world');

});//사용자가 GET방식으로 웹서버에 접속할

 

app.get('/dynamic', function(req, res){

var lis = '';

for(var i=0; i<5; i++){

lis = lis + '<li>coding</li>';

}

//${lis} 변수를 의미

var output = `<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

</head>

<body>

hello dynamic html

<ul>

${lis}

</ul>

</body>

</html>

`;//그레이브 엑센트임

res.send(output);

});

 

app.get('/route', function(req, res){

res.send('Hello router, <img src="/route.jpg">');

});

 

app.get('/login', function(req, res){

res.send('<h1>login page</h1>');

});

 

app.listen(3000, function(){//3000 포트번호

console.log('Connected 3000 port!');

});

 

 

위 time은 jade의 변수이다. express에서 변수를 주입해줘야 한다.

 

 

실행 결과

 

 

출처 : 생활코딩 (https://opentutorials.org/course/2136)

반응형