EJS是一個(gè)JavaScript庫(https://ejs.bootcss.com/),EJS可以同時(shí)運(yùn)行在客戶端和服務(wù)器端,客戶端安裝直接引入文件即可,服務(wù)器端用npm包安裝:
$ npm install ejs
EJS常用標(biāo)簽
<% %>流程控制標(biāo)簽
<%= %>輸出標(biāo)簽(原文輸出HTML標(biāo)簽)
<%- %>輸出標(biāo)簽(HTML會(huì)被瀏覽器解析)
<%# %>注釋標(biāo)簽
% 對標(biāo)記進(jìn)行轉(zhuǎn)義
-%>去掉沒用的空格
說明:ejs中的邏輯代碼全部用JavaScript
js 邏輯判斷方法:
<% if (isLogin){ %>
<%} else { %>
<% } %>
獲取值,里面的值替換:
<%= user.avatar %>
首頁代碼- 用戶是否登錄,展示2個(gè)不同頁面邏輯。
<div id="header">
<a class="add-note" title="添加筆記" href="#"><span class="fa fa-plus"></span> 添加</a>
<ul class="user-area">
<!-- % ejs模板引擎語法 -->
<% if (isLogin){ %>
<li><img src="<%= user.avatar %>" alt=""></li>
<li><span title="<%= user.username %>"><%= user.username %></span></li>
<li><span class="line"> | </span> </li>
<li><a class="logout" href="/auth/logout">注銷</a></li>
<%} else { %>
<li><a class="login" title="GitHub登錄" href="/auth/github"> GitHub登錄</a>
</li>
<% } %>
</ul>
</div>
<div id="content">
</div>
<div class="stars"></div>
<script src="/js/index.js"></script>
EJS的特點(diǎn):
快速編譯和渲染
簡單的模板標(biāo)簽
自定義標(biāo)記分隔符
支持文本包含
支持瀏覽器端和服務(wù)器端
模板靜態(tài)緩存
支持express視圖系統(tǒng)