動機
絶対に必要な作業ではありません。
ほぼ同じ機能を持つテンプレートエンジンです。
どちらか1つにまとめたい気持ちです。
Release状況
枯れているライブラリであり、大きな変更があるとは思えません。
ですが、万が一セキュリティに関わるようなバグがあった場合に対応が遅いと困ります。
近年のRelease状況を確認してみます。
Handlebars
2017年5月にリリースあり
https://github.com/wycats/handlebars.js/releases
Mustache
2016年にリリースあり
https://github.com/janl/mustache.js/releases
Hogan.js
2014年(3年前)で止まっている
https://github.com/twitter/hogan.js/releases
Twitter社製のライブラリとはいえ、メンテナンスが控えめになることがあるようです。
手順
次の手順で、Hogan.jsからHandlebars.jsに乗り換えます。
npm i handlebars
-
require('hogan.js')
をrequire('handlebars')
に置き換え -
template.render(data)
をtemplate(data)
に置き換え npm uninstall hogan.js
環境
npmでインストールして(ブラウザで動かす場合は)browserify等で変換して使う想定です。
scriptタグで読み込んで使っている場合は、適当に頑張ってください。
APIの差
上記の手順を確認するため、両者のAPIの差を整理します。
Hogan.jsのexampleを参考にして比較してみましょう。
Handlebars.js
const data = {
screenName: "dhg",
}
const template = Handlebars.compile("Follow @{{screenName}}.")
const output = template(data)
Hogan.js
const data = {
screenName: "dhg",
}
const template = Hogan.compile("Follow @{{screenName}}.")
const output = template.render(data)
export先がdefaultかrednder関数かの違いぐらいしかありません。