Jade
Node.js에서 기본적으로 사용되는 view 템플릿 엔진입니다.
HTML 문서에 비해 축약형 문법이며, Tag를 일일이 열고 닫고 할 필요가 없이 들여쓰기를 통해 구분됩니다.
익숙해진다면 확실히 빠르고 편한 코딩이 가능한 엔진입니다.
사용법
우선 Express에서 기본적으로 제공하는 jade 파일을 통해 알아보도록 하겠습니다.
Jade(layout.jade) | HTML |
doctype html html head title= title link(rel='stylesheet', href='/stylesheets/style.css') body block content |
<!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" href="/stylesheets/style.css"> </head> <body> </body> </html> |
우선 가장 두드러진 차이점은 위에서 설명했다시피 Tag를 열고 닫지 않으며, 대신 들여쓰기로 구분하게 됩니다.
속성은 ()괄호를 이용하여 javascript와 비슷하게 (, )로 구분하여 설정합니다.
index.js |
router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); |
또한 자신을 호출한 index.js에서 인자로 넘겨받은 title 변수를 사용합니다.
그리고 또 하나의 편리한 점은 block을 통해 템플릿 상속이 가능하다는 것입니다.
아래처럼 extends 지시어를 통해 레이아웃을 확장할 수 있습니다.
Jade(index.jade) | HTML |
extends layout
block content h1= title p Welcome to #{title} | <h1></h1> <p>Welcome to</p> |
Tag에 변수를 넣고 싶을 때는 =기호를 사용하고 문자열 사이에 넣고 싶을 때는 #{변수명}을 사용합니다.
이외의 자세한 문법은 여기를 참고하세요.