駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

EJS入門

EJS・・・

EJSとは主にJavaScriptで使用されるテンプレートエンジンです。

EJSを利用することでHTMLをヘッダーやフッターで分割して管理することやHTML内で

ループ処理を書いて簡単に記述できるなどを実現できます。

また、「JavaScriptで使用される」ということなので、JavaScriptの構文が使えます。新たに構文を覚える必要がありません。

※テンプレートを使うことで、WEBページに「パターン」を定義し、中身を動的に変更することができます。

ejs.co

 

もう一つ、ExpressにEJSを設定する方法も紹介します。

・プロジェクトの初期化をして、package.jsonを作成

 npm init

・Expressのインストールし、ファイルを一つ作成

 npm i express
 touch index.js

・作成したファイルには、下記のようにインストールしたexpressの読み込みとローカルサーバーの設定を行います。

const express = require('express');
const app = express();

app.get('/', (req, res) => {
res.send('home');
})
app.listen(3000, () => {
console.log('ポート3000で待ち受け');
})

 

ここまで完了したら、EJSのインストールです。

 npm i ejs

インストール完了後はまずviewsディレクトリを作成します。

理由は、Express側でテンプレート(ejsファイルなど)を使用する際はviewsディレクトに該当ファイルを配置する必要があるからです。

viewsディレクトリを作成したら、その中にejsファイルを作成していきます。今回は

「home.ejs」のファイルを作成します。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ホーム</title>
</head>
<body>
<h1>ホームページ <%= 'hello world'.toUpperCase() %></h1>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit.
Quas fugit,
laboriosam ad eos dolor cum quidem omnis illo dignissimos laudantium
non dolores esse voluptate tempore eligendi quia fugiat porro nulla!
</p>
</body>
</html>

最後にejsファイルをexpressを使用しているindex.jsに読み込み、レスポンスでejsファイルを返すように設定します。

const express = require('express');
const app = express();
//ejsを使えるように宣言
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
// renderの中にejsのテンプレートを返すように設定
// 今回はhome.ejsなので'home'
res.render('home');
})
app.listen(3000, () => {
console.log('ポート3000で待ち受け');
})

ちゃんとテンプレートが返ってきているのが確認取れます。