【Node.js】ejsからhtmlを書き出す

2018年11月17日

fsとejsを読み込み

ejsからhtmlの順序

  1. ejs.renderFileを使ってejsを読み込む。
  2. 上記のデータをfs.writeFileで渡して、htmlを生成する。

【ejs.renderFile】

引数1 : ‘./src/temp.ejs’
読み込むejsファイルを指定する。

引数2 : { testText : testText }
ejsに渡す変数。
この場合、”これはテストです”が入ります。

引数3 : function(エラー,出力データ){}
完了後、出力データ取れる

【fs.writeFile】

引数1 : file
出力先のファイル

引数2 : html
読み込みデータ(renderFile)で作成したデータ

引数3 : 文字コード

サンプル

【ejs_sample.js】
※後のtemp.ejsに書いてるinclude先(header,footer)に値を渡せないらしく、グローバルでページタイトルを設定している

テンプレート

【temp.ejs(header.ejsとfooter.ejsを呼び出してる)】

【header.ejs】

【footer.ejs】

できあがったファイル