Nunjucksを使い始めた
Closedfirst published: 2019/02/10last updated: 2019/02/14
ReactやVue.jsでプレーンなHTMLを書く機会が増え、EJSの文法をかなり忘れてしまった。Pugも転用が辛くて最近は使っていない。
HTMLに近いテンプレエンジン、他にないかなーと思っていたら、半田氏が「Nunjucksは未来への投資」だと言っていたので探ってみることに。
NunjucksのテンプレはEJS似のHTMLベース。ヒゲ {{ }}
(マスタッシュ構文)で色々書くあたりVue.jsと親和性あり。確か、Hugoもこういうテンプレだった気がする。
運営はMozilla(生存率高そう...!)。機能も豊富。
唯一、できそうでできなかったのが、外部のJSONファイルを読み込んで変数としてセットする方法。Reactだと簡単だけど、次のような書き方は×。
{% set data = './package.json' %}
<p>v{{data.version}}</p>
Nunjucksのテンプレ側にそういう機能は無いらしいので、gulpなどレンダリング設定する側で入れる。この辺はEJSなどと同じ。
今作っている環境が「gulp無し・npm scriptで大体やる」簡易的な構成のため、利用者少なそうだけど nunjucks-cli
というライブラリでHTMLを生成するようにした。更新止まってるので、いつまで使えるかは不明。
別件で、gulpを外すと逆にわかりづらくなる構成があったので、nunjucks-cli
を gulp-nunjucks-render
に変更した。こちらはJSONファイルの読み込みが楽だったり色々と融通がきく。