[jade] node.js용 html 템플릿 엔진

2016. 3. 10. 17:46·프레임워크/[JS] node.js

[jade]
    - node.js 를 위한 템플릿 엔진
    - express 의 기본 템플릿 엔진
    - ejs에 비해 4배정도의 다운로드수(2016.03.10 기준)
    - jade 의 형식으로 된 문법을 이용하여 html 구성


    - 들여쓰기가 중요함
        -- 탭과 띄어쓰기중 한가지만 사용해야 함
    - 첫번째로 쓰여진 문자가 태그가 되고, 공백 다음에 쓰여진 문자가 태그의 내용이 됨
        -- title hahaha --> <title>hahaha</title> 로 변환됨
    - 태그의 속성은 괄호를 이용하여 입력
        -- a(href="www.target.url") --> <a src="www.target.url"></a> 로 변환됨
        -- 여러개의 속성은 콤마(,)로 구분하여 입력함
    - jade 로 파싱된 결과물은 집핑(ziping)되어 나옴
        -- 줄바꿈없이 나오게 됨
        -- 전송용량을 줄이기 위함



var jade = require("jade");
var fs = require("fs");

// compile 을 이용하여 처리 
jade_html = fs.readFileSync("jade.jade", "utf-8");
jade_fn = jade.compile(jade_html);

console.log(jade_fn({ "title" : "Hello World1!" })); 

// render 를 이용하여 처리
html = jade.render(jade_html, {"title" : "Hello World2!" });
console.log(html);


<jade.jade 파일>

doctype html
html
    head
        // 주석은 이렇게
        // 값을 받아서 넣으려면 #{}을 이용
        title #{title}
    body
        // 아래와 같이 =을 이용하여 넣는 것도 가능 
        h1= title
        // 이렇게 넣으면 div의 아이디를 입력하여 생성 
        #div1
            - for(var i = 0; i < 3; i++) {
                p #{i}
            - }


<!DOCTYPE html><html><head><!-- 주석은 이렇게--><!-- 값을 받아서 넣으려면 #{}을 이용--><title>Hello World1!</title></head><body><!-- 아래와 같이 =을 이용하여 넣는 것도 가능 --><h1>Hello World1!</h1><!-- 이렇게 넣으면 div의 아이디를 입력하여 생성 --><div id="div1"><p>0</p><p>1</p><p>2</p></div></body></html>
<!DOCTYPE html><html><head><!-- 주석은 이렇게--><!-- 값을 받아서 넣으려면 #{}을 이용--><title>Hello World2!</title></head><body><!-- 아래와 같이 =을 이용하여 넣는 것도 가능 --><h1>Hello World2!</h1><!-- 이렇게 넣으면 div의 아이디를 입력하여 생성 --><div id="div1"><p>0</p><p>1</p><p>2</p></div></body></html>



* 기존에 html 로 작성한 파일을 jade 로 변환해 주는 사이트를 추가합니다.

  아래의 html to jade 를 확인해보시면 됩니다.



https://www.npmjs.com/package/jade

html to jade : https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/


반응형
저작자표시 비영리 (새창열림)

'프레임워크 > [JS] node.js' 카테고리의 다른 글

[nodejs] 한글이 깨지는 현상 수정하기  (1) 2016.03.30
[nodejs][express] express 설치 및 기본 프로젝트 생성하기  (0) 2016.03.30
[ejs] html 페이지 템플릿을 위한 ejs 모듈 예제  (0) 2016.03.08
[에러] possible EventEmitter memory leak detected. 에러 처리  (0) 2016.02.18
node.js와 mysql 연동하기  (0) 2016.02.17
'프레임워크/[JS] node.js' 카테고리의 다른 글
  • [nodejs] 한글이 깨지는 현상 수정하기
  • [nodejs][express] express 설치 및 기본 프로젝트 생성하기
  • [ejs] html 페이지 템플릿을 위한 ejs 모듈 예제
  • [에러] possible EventEmitter memory leak detected. 에러 처리
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    nodejs
    airflow
    AWS
    hbase
    Tez
    SPARK
    하이브
    백준
    알고리즘
    HIVE
    k8s
    oozie
    Python
    build
    하둡
    emr
    오류
    다이나믹
    error
    Linux
    정올
    java
    파이썬
    HDFS
    yarn
    Hadoop
    bash
    mysql
    S3
    ubuntu
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[jade] node.js용 html 템플릿 엔진
상단으로

티스토리툴바