express를 사용시 제이드(Jade)를 사용하여 웹 페이지를 만들때가 있다.

 

express는 템플릿 엔진을 이용해서 웹페이지를 생성하는데 제이드(Jade)가 대표적이다.


이번 글에서는 express에서 Jade 템플릿을 이용한 웹페이지 렌더링 방법에 대해 알아보려고 한다.


Jade 템플릿을 설치하는 방법은 매우 간단하다.


$npm install jade --save


설치한 Jade 모듈을 익스프레스에 설정하는 코드를 추가한다.


[app.js]에


app.set('views', path.join(__dirname, 'views'));

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



Jade 문법

views 폴더에 생성되는 파일

1. index.jade

extends layout

block content
  h1 This is h1
  p Welcome to Hell

첫 줄의 extends 키워드는 다른 파일을 상속한다는 의미이다. 

2. layout.jade

doctypehtml

html
  head
    title This is title!
    link(rel='stylesheet', href='/stylesheets/style.css')
  body
    block content

layout.jade 파일에도 body 밑에 block content가 존재한다..

정리하면,

index.jade에서 block content라고 선언을 하고 작성한 코드들은,
layout.jade에서 block content라고 선언한 직후 호출이 된다.

다시말하면,

layout.jade 파일에서 block content라고 선언만 하고, index.jade 파일에서 block content를 정의한다고 할 수 있다.
 

doctypehtml

html
  head
    title This is title!
    link(rel='stylesheet', href='/stylesheets/style.css')
  body
    h1 This is h1
    p Welcome to Hell
 
최종적으로 이렇게 되어 실행될 것이다.


////////////////////


Jade만의 특수 태그가 몇 가지 존재하며, 이 특수 태그를 사용하여 페이지를 구성한다.


1. -Code : 자바스크립트 코드를 입력할 때 사용한다.


2. #{Value} : 데이터를 출력한다.


3. = Value : 데이터를 출력한다.


            -for(var i = 0 ; i < data.length ; i ++)

            { 

a(href = "http://www.naver.com") 이동하기 : p #{i}

           -}


이렇게 하면, -을 사용해서 자바스크립트를 정상적으로 사용할 수 있고,

 #{i}를 사용해서 값을 출력할 수 있다. 0 , 1 , 2 , 3 , ...


[결과]


이동하기 : 0

이동하기 : 1

이동하기 : 2

이동하기 : 3

...
..
.


4. div 태그 생성하기


div 태그를 직접 입력하지 않고 #header 태그를 입력하는 것만으로도 : id 속성이 header인 div 태그를 생성.

div 태그를 직접 입력하지 않고 .header 태그를 입력하는 것만으로도 : class 속성이 header인 div 태그를 생성.


body

  #header 

h1 Hello World!

h2 Mr.Jang.


이와 같이 div 태그를 쓰지 않고도 쉽게 생성할 수 있다.

Posted by sungho88
,