[2분 인상 잡기] 템플릿 엔진 EJS(1/2)

줄거리

  • 다른 글에서 ES 객체로 HTML 파일 읽기 및 표시
  • 그러나 HTML의 내용(변수 등)을 변경하는 것은 번거롭다
  • 변수를 더 간단하게 삽입하고 싶다!이렇게 생각하다가 템플릿 엔진을 만났다.
  • 다양한 것을 사용할 수 있기 때문에 나는 두 편의 기사를 쓰고 싶다.
  • 이번에는 기본편
  • 준비물

  • npm로 EJS
  • 다운로드
  • 만약 당신이 여기서 npm가 무엇인지 생각한다면, 이 글을 읽기 전에 npm에 관한 글을 먼저 읽는 것을 권장합니다.
  • 짜증나!빨리 EJS를 다운로드하라고!이런 사람은 아래의 명령으로 설치할 수 있다
     
  • npm install ejs
    

    결국 EJS가 뭐예요?


    <%=값%>


    ↑.

    변수를 HTML 파일에 전달할 수 있습니다!


    hello.ejs
    <html>
    <body>
        <header>
            <h1 id="h1"><%=  %></h1>
        </header>
    </body>
    </html>
    
    
    ↑ 이런 느낌
     

    EJS

  • HTML 파일에서 "값을 동적으로 변경하려면"사용할 수 있습니다
  • 파일 확장자는.ejs
  • 이 파일을 템플릿 파일이라고 합니다
  • 템플릿 파일의 특수 태그 (예: <%%>) 를 실제 출력된 텍스트로 변환
  • 견본

  • hello.ejs
  • ejs.js
  •  
    hello.ejs
    
    <html lang="ja">
    <body>
        <header>
            <h1 id="h1"><%=title %></h1>
        </header>
        <div role="main">
            <p><%-content %></p>
        </div>
    </body>
    </html>
    
    
    ejs.js
    var http = require('http');
    // ファイルの読み込み(は、fsオブジェクトが担当する)
    var fs = require('fs');
    // テンプレートデータのレンダリング(は、ejsが担当する)
    var ejs = require('ejs');
    
    // ここは同期処理で読み込みます!
    var hello = fs.readFileSync('./hello.ejs', 'utf8');
    
    var server = http.createServer();
    server.on('request', doRequest);
    server.listen(1234);
    console.log('Server running!');
    
    // リクエストの処理
    function doRequest(req, res) {
    
        // ここでejsオブジェクトが働きます
        var hello2 = ejs.render(hello, {
            title:"title",
            content:"This is made by sample",
        });
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write(hello2);
        res.end();
    }
    
     

    결과(CSS 등으로 장식되어 있음)



     

    포인트!

    
    var hello2 = ejs.render(hello, {
        title:"タイトルです",
        content:"これはサンプルで作成したテンプレートです。",
    });
    
    
    ejs.render( テンプレートデータ , オプション );
    
  • 첫 번째 매개변수 - 렌더링할 데이터를 지정합니다(= 읽을 템플릿 문자열).
  • 두 번째 매개 변수 - 템플릿에 전달되는 변수 등 정보를 연상수 그룹에 집합하는 매개 변수를 지정합니다.
  • 연관 배열 (여기는 대상) 을 통해 두 번째 매개 변수를 템플릿 파일에 전달할 수 있습니다.

    총결산


    EJS는 변수를 서버 쪽(js)에서 템플릿 파일(html)로 전달할 수 있습니다!


    다음

    좋은 웹페이지 즐겨찾기