Skip to content

Commit f473ea5

Browse files
ejsの説明追加
1 parent 9f120a3 commit f473ea5

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

docs/3-web-servers/04-server/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,11 @@ app.listen(3000);
239239

240240
<ViewSource url={import.meta.url} path="_samples/ejs-template-engine" />
241241

242+
イベントハンドラの中で、プログラムではまず `fs.readFileSync` 関数を用いて `template.ejs` ファイルの内容を読み込んでいます。その次の行の [`ejs.render` 関数](https://ejs.co/#docs) がポイントです。この関数は、第 1 引数にテンプレートを文字列として受け取り、諸々の変換を行った後の文字列を返します。第 2 引数には、変換の際に埋め込みたいデータをオブジェクトの形式で指定します。
243+
244+
このオブジェクトのキーと同じ名前の変数が、テンプレート内で利用できます。上の例の `template.ejs` における `listItems` は、`main.mjs` で指定した `{ listItems: names }` により `["田中", "鈴木", "佐藤"]` になります。
245+
246+
テンプレート内の `<%` から `%>` で囲まれた部分は、JavaScript のプログラムとして実行されます。また、`<%=` から `%>` で囲まれた部分は JavaScript の式として評価され、最終的な結果に埋め込まれます。
242247
:::
243248

244249
## 課題

0 commit comments

Comments
 (0)