Node.js テンプレートエンジン (Node.js template engine)

Node.jsのテンプレートエンジンについてちょっと調べものしたメモです。

Node.js テンプレートエンジン

jjug CCC CfPの投票結果を見れるサイトを去年からNode.jsで作って公開していたのですが、
ECTとかいうマイナーなテンプレートエンジンを使用していたので変えたいと思い、
Node.jsで最近流行っているテンプレートは何かな?と思って軽く調べてみました。

調べてみたのは有名らしい下記8つ。
・handlebars.js
・jade
・Mustache.js
・Hogan.js
・jsrender
・dust.js
・doT.js
・nunjucks
・underscore.js(のテンプレート機能)

googleトレンドでの調べ方は、
jadeだけだと色々とひっかかるので、jade templateで検索。
underscore.jsはテンプレートとしての使い方を調べたかったので、underscore templateで検索。

Googleトレンドの結果




Googleトレンドで見てみるとnunjucksというのが急激に伸びているのがわかりました。
nunjucksを調べてみると、Jinja2というPythonのテンプレートエンジンから影響を受けて作られた
javascript用のテンプレートエンジンとのことです。

Nunjucks

Jinja2も知りませんでしたが、サンプルを見るとすごく直観的に記述できます。

{% extends "base.html" %}

{% block header %}
<h1>{{ title }}</h1>
{% endblock %}

{% block content %}
<ul>
  {% for name, item in items %}
  <li>{{ name }}: {{ item }}</li>
  {% endfor %}
</ul>
{% endblock %}

機能も豊富ですし、非常に軽量なので結局nunjucksを採用しました。
github.com

終わり。