プレスエンジンとは?ejsのインストール
テンプレートエンジンのない画面の設定
app.get('/', (req, res) => {
res.send('<!DOCTYPE html>\
<html lang="en">\
<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>Document</title>\
</head>\
<body>\
Hi. I am with html<br>\
<a href="/hi">Say Hi!</a>\
</body>\
</html>')
})
ページを作成するたびにこのように追加する不便さHTMLコードを追加する必要がありますが、JavaScript言語で書くのは不便です
そのため、これらの不便を解消し、作業を容易にする方法-->プレスエンジンの使用
-->テンプレートエンジンを使用すると、ユーザーはフォーマットが一致するHTMLファイルに必要なデータを動的に挿入し、必要なフォーマットのホームページを整理できます.
プレスエンジンを使用するメリット
多くのコードを減らすことができます.
→ほとんどのTemplate Engineでは、既存のHTMLよりも簡単な構文を使用しています
リサイクル性が高い.
→WebページやWebアプリケーションを作成する場合、同じデザインページのデータのみを変更する場合が多い.
メンテナンスが容易です.
→複数ページをレンダリングするためのTemplateを作成する操作には、他にもメリットがあります.
テンプレートエンジン-ejsインストール
npm install ejs
ejsの簡単な使い方
index.jsに追加
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.get('/test', (req, res) => {
let name = req.query.name;
res.render('test', {name});
})
ejsファイルをviewsというフォルダに入れる設定app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
上のコードにはejsファイルを含むviewsというフォルダが設定されています.test.ejsファイルの内容を読み込み、表示()
app.get('/test', (req, res) => {
let name = req.query.name;
res.render('test', {name});
})
-->pathが/testの場合、コードが実行されます(応答済み)-->res.send(「htmlコード」)メソッドを使用せずに直接描画します.
res.render()を使用してtestというejsファイルをロードし、描画します(上のコードでは-->test.ejsファイル).
-->nameという変数データもquery形式で受信しejsファイルに渡します.
--> 데이터를 받는 방식은 body로 받는 방식과 query로 받는 방식 등등이 있는데 여기서는 query형식으로 받았다.
viewフォルダを作成した後、その中に作成したtest.ejsファイル <!DOCTYPE html>
<html lang="en">
<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>Document</title>
</head>
<body>
Hi. My name is <%= name %><br>
</body>
</html>
-->htmlコード全体-->上のrenderで呼び出して描画--->bodyセクションの<%=name%>は、上のインデックスです.jsに追加されたコードから{name}に割り当てられたデータ
www.ドメイン/テスト?name=Willy
ドメインへのアクセス
ルータは/testという名前のパスを起動します
このpathからnameという変数の値Willyをquery形式で受信する
このパスはejsファイルによって画面を整理するので、プレゼンテーションコードによってtextを生成します.ejsファイルにアクセスし、
また,name変数に対応する値Willyはtestである.ejsに転送されました
test.ejsでは、name変数に対応する値Willyを適用してコードを構成します-->このコンテンツに応答します.
応答コードをブラウザで描画
会社もテンプレートエンジンを使いますか。
刺身です(会社by社)一部のWebサイトのフレームワークでは、テンプレートエンジン(例えば、ロッド、ノード、ラベルが付いている)を使用してホームページを作成していますが、最近ではフロントエンドとバックエンドに分かれた開発文化では、フロントエンド開発は個別のフレームワークを使用しているため、テンプレートエンジンを使用しないところが多いです.React, Vue.フロントエンドフレームワーク(jsなど)には、画面を整理するための機能が含まれています.したがって、ほとんどのビューはフロントエンドで表示され、バックエンドサーバはデータの加工/提供のみを担当します.
Reference
この問題について(プレスエンジンとは?ejsのインストール), 我々は、より多くの情報をここで見つけました https://velog.io/@odesay97/탬플릿-엔진이란-ejs-설치テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol