プリプロセッサー内蔵したウェブサーバー Harpを試してみた

HarpはMarkdown, Jade, EJS, LESS, Stylus, Sass, CoffeeScriptを内蔵したウェブサーバー。

プリプロセッサー内蔵しているので、CoffeeScriptなどをコンパイルすることなく公開できる。

Harpは、node.jsでのMiddlemanやJekyllのような静的なサイトのジェネレーターのような感じ。

簡単なセットアップ

npmでインストール

initializeする

次のようにファイルが生成される

サーバーを起動する

ファイルをコンパイルすることも可能

指定したディレクトリに出力される。(特に指定しないときはpublic)

ExpressのMiddlewareとして利用することも可能

package.jsonを作成し

サーバーを作成

起動する

メタデータや変数などはjsonファイルから取得できる。

以下のようなアプリケーション構造の場合

_data.jsonに次のようにすることで

hello-world.jade テンプレートで

とすることでjsonの値を取得できる。
また、ファイルの接頭辞に_(アンダースコア)がある場合はファイルは公開されない。

_harp.jsonファイルにグローバル変数を定義することで使用できる。

例えばindex.jadeを以下のようにすると グローバル変数nameを参照できる。

HarpはHeroku, Github Pagesで公開できるほかにDropboxを使いHarp Platformで公開もできる。

Harpではそれほどコマンドがないので必要ないけど、Harp serverのGruntプラグインgrunt-harpもあった。
Gruntプラグインではサーバーの起動、コンパイルをサポートしている。

package.jsonに追記して、npmインストール。

Gruntfileは以下のようにした。

ということで、ざっくり試してみた。

静的ファイルの生成はもちろん、html5アプリケーションなどの開発にも使用できそう。
プリプロセッサー内蔵ということでローカルの開発環境の構築が簡単なところも良さそう。

ruby + nginx ではなく、サーバーとクライアントともにjsでの開発だと選択肢としてありそう。

Comments