node.jsのいろいろなモジュール34 – ヒアドキュメントを使う

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

JavaScriptでヒアドキュメント

たまに複数行の長い文字列を書きたくなることがあります。
Rubyだとヒアドキュメントの機能があるので簡単ですが、JavaScriptの場合は文字列を+でつなげたりするしかありません。
しかし、今回紹介するnode-hereモジュールを使用すれば、ヒアドキュメントが使えるようになります。

環境構築方法

今回使用した動作環境は以下のとおりです。

  • OS : MacOS X 10.7.5
  • Node.js : v0.10.4
  • npm : 1.2.18

npmを使用してモジュールをインストールしましょう。

% mkdir here
% cd here
% npm install here

サンプルプログラム作成

モジュールをrequireして、here関数にブロック文字列をコメントとして渡します。
下記プログラムを実行すると、html表現の文字列がそのまま表示されます。

var here = require('here').here;

console.log(here(/*
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>hello here document</title>
  </head>
  <body>
    hello here document
  </body>
</html>
*/).unindent());

まとめ

ちなみに、最後に呼んでいるunindent関数は、行頭のインデントを無視した形式で文字列を生成するようです。
もしそのままの文字列を返したい場合、valueOf関数を使用します。

参考サイトなど