Skip to content

EJS模板引擎

什么是模板引擎

什么是模板引擎
概念:模板引擎是分离的一种技术。

什么是 EJS

EJS 是一个高效的 js 的模板引擎。

EJS 初体验

下载安装 ejs

shell
npm i ejs

模板文件:/pages/student.ejs 中使用特定的 ejs 语法

html
<h1>学校名称:<%=school %></h1>

代码示例:

js
const express = require("express");
const { resolve } = require("path");
const app = express();

app.get("/students", (request, response) => {
  let school = "折木";
  // 在获取ejs模板绝对路径
  const fileUrl = resolve(__dirname, "./pages/students.ejs");
  // 渲染绝对路径对应的【.ejs】文件为【.html】文件,且解析过程中使用school数据
  response.render(fileUrl, { school });
});

app.listen(8099, () => {
  console.log("服务器启动成功!");
});

EJS 全局配置

所谓优化就是指定默认的:模板引擎模板位置

js
const express = require("express");
const app = express();

// 配置模板引擎
app.set("view engine", "ejs");
// 配置模板位置
app.set("views", "./pages");

app.get("/students", (request, response) => {
  // 数据
  let school = "折木";
  // 解析过程中使用school数据
  response.render("students", { school });
});

app.listen(8088, () => {
  console.log("服务器启动成功!");
});

EJS 常用语法

执行 JS 代码

js
<% code %>
js
<body>
  <h1>学校名称:<%=school %> </h1>
  <h2>学生列表:</h2>
  <ul>
    <% subject.forEach(item=> { %>
      <li>
        <%= item %>
      </li>
      <% }); %>
  </ul>
</body>

输出转义的数据到模板上

js
<%= code %>

输出非转义的数据到模板上

js
<%- code %>