Javascript & HTML & CSS/node.js

[외부 모듈] ejs 모듈 (템플릿 엔진 모듈)

클레잇 2016. 8. 10. 02:29

템플릿 엔진 : 특정 형식의 문자열을 html형식 문자열로 변환해주는 모듈


JSP 문법과 굉장히 비슷하다.


설치

npm install ejs


var http = require('http');

var fs = require('fs');

var ejs = require('ejs');


http.createServer(function(req, res){

fs.readFile('test.ejs', 'utf8', function(error, data){

res.writeHead(200, {'Content-Type' : 'text/html'});

res.end(ejs.render(data));

});

});


주의사항

반드시 utf8로 인코딩해서 ejs파일을 읽어들여야 함!









ejs 문법

<% Code %>     자바스크립트 코드

<%= Value %>   데이터 출력


예시

<% var temp = 'world!';

<% for(var i=0; i<10; i++){ %>

<div>hello <%= temp %> </div>

<% } %>








ejs페이지에 데이터를 전달하는 방법

response.end(ejs.render(data, {

name : 'hongkildong',

age : '100'

}));

두번째 파라미터로 name과 age가 담긴 오브젝트(JSON데이터)를 전달할 수 있다.


받는 측에서는 이렇게

<div><%= name %></div>

<div><%= age %></div>


이런 방식을 이용하면 정적인 html페이지를 동적으로 구성할 수 있게 된다.