Node.jsでヒアドキュメント

「node.js ヒアドキュメント」でググると、ヒアドキュメントもどきな記述法をみなさん公開してくれてるので、自分用にまとめ。ソース中にSQLを埋め込んだり、Usage書く際に。

その1

文字列リテラル中で、改行する際にバックスラッシュ’\’を入れる。

console.log("\
CREATE TABLE IF NOT EXISTS work (\n\
  id INT(10) NOT NULL AUTO_INCREMENT,\n\
  hours DECIMAL(5,2) DEFAULT 0,\n\
  date DATE,\n\
  archived INT(1) DEFAULT 0,\n\
  description LONGTEXT,\n\
  PRIMARY KEY(id)\n\
)\
");

その2

関数ボディにコメントを記述し、文字列変換の上、コメント内を切り出す。

function heredoc(cb) {
  return cb xenical cost.toString().split(/\n/).slice(1, -1).join("\n");
}

こんなふうに使う。

console.log(heredoc(function() {/*
CREATE TABLE IF NOT EXISTS work (
  id INT(10) NOT NULL AUTO_INCREMENT,
  hours DECIMAL(5,2) DEFAULT 0,
  date DATE,
  archived INT(1) DEFAULT 0,
  description LONGTEXT,
  PRIMARY KEY(id)
)
*/}));

記述量がそこそこ多いのであれば、その2が良さそうですね。