2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

node.js 의 template engine - EJS 설치하기

클라이언트측에 UI를 제공하는 경우 Express의 View Engine(혹은 템플릿 엔진)을 사용해서 개발하면 효율성을 올릴 수 있다. 흔히 말하는 MVC 패턴 중 View에 해당한다.
Express에서 사용하는 템플릿 엔진은 여러가지가 있는데, Pug(옛날에는 Jade)나 EJS, ETC, 등등 많은 모듈이 있으며 이 중에서 선택해서 사용하면 된다.
종류도 많고 특징도 가지가지..그 중에서 나는 EJS를 선택했는데 HTML을 그대로 사용할 수 있다는 것이 매력적이었다. 다른 엔진 중에는 소스코드를 간략화 하기 위해 해당 엔진 전용 문법이 있는 경우가 있는데 별도 학습도 필요하고 팀 프로젝트를 하는 경우 다른 팀원, 특히 디자이너가 그 문법을 모르면 곤란하므로 HTML을 그대로 사용할 수 있는 엔진을 골랐다.
EJS 역시 npm 으로 설치 가능하다. 프로젝트 폴더에서 다음 커멘트를 입력하자.
$ npm install ejs --save
다음 실제 UI를 구성하기 위한 파일을 작성한다. EJS 를 사용하는 경우 파일 확장자를 .ejs 로 지정한다. 뷰 파일을 두기 위한 Views 폴더를 만든다.
$ mkdir views
이このviewsディレクトリ直下にindex.ejsとしてファイルを作成します。このファイルはクライアントが http://localhost:3000/ にアクセスしたときに表示されるコンテンツとします。
이 폴더 밑에 index.ejs 파일을 아래와 같이 작성한다. 이 파일이 http://localhost:3000/ 에 접속하면 기본적으로 표시된다.
index.ejs
<html>
<body>
    <h1>New Project</h1>
</body>
</html>
次にサーバー側でapp.jsを編集して2つほど設定をおこないます。ひとつはView EngineにEJSを指定する設定です。そしてもうひとつは http://localhost:3000/ へのGETリクエストで先ほど作成したindex.ejsを表示する設定です。この設定のために下記のコードをapp.jsの末尾に追加します。
다음에는 app.js를 편집해서 다음과 같이 설정한다. 첫 번째로는 vie engine 을 set 메소드로 설정한다. 다음은 라우팅을 설정한다. / 로 (localhost:3000) 접속한 경우에  res.render() 메소드로 index.ejs 파일을 표시하게끔 설정한다.
app.js
// View EngineにEJSを指定。
app.set('view engine', 'ejs');

// "/"へのGETリクエストでindex.ejsを表示する。拡張子(.ejs)は省略されていることに注意。
app.get("/", function(req, res, next){
    res.render("index", {});
});
ㅁこれでapp.jsの変更を反映させるためにサーバープロセスを再起動します。再起動するには先ほど実行したnode app.jsプロセスを終了してもう一度実行します。

마지막으로 node app.js 를 재실행하고 http://localhost:3000/ 에 접속하면 index.ejs 에 기술한 내용이 화면에 표시된다.
スクリーンショット 2015-12-29 10.30.03.png

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법