微信登录

模板引擎 - EJS 模板引擎 - 语法与使用

模板引擎 - EJS 模板引擎 - 语法与使用

在 Web 开发中,模板引擎是一项非常实用的技术,它允许我们将数据和视图分离,提高代码的可维护性和可扩展性。EJS(Embedded JavaScript)是一个简单而强大的 JavaScript 模板引擎,它允许我们在 HTML 中嵌入 JavaScript 代码,从而动态生成 HTML 页面。本文将详细介绍 EJS 模板引擎的语法和使用方法。

什么是 EJS 模板引擎

EJS 是一个高效的嵌入式 JavaScript 模板引擎,它的核心思想是将 JavaScript 代码嵌入到 HTML 模板中,通过传入数据,动态生成最终的 HTML 页面。EJS 简单易学,不需要复杂的配置,非常适合初学者和小型项目。

安装 EJS

在使用 EJS 之前,我们需要先安装它。如果你使用的是 Node.js 项目,可以通过 npm 来安装 EJS:

  1. npm install ejs

EJS 基本语法

EJS 使用特殊的标签来嵌入 JavaScript 代码,主要有以下几种标签:

1. <%... %>:执行 JavaScript 代码

这个标签用于执行 JavaScript 代码,例如循环、条件判断等。代码不会直接输出到 HTML 中。

  1. <% for(var i = 0; i < 3; i++) { %>
  2. <p>这是第 <%= i + 1 %> 个段落</p>
  3. <% } %>

2. <%=... %>:输出经过 HTML 转义后的变量值

这个标签用于输出变量的值,并且会对特殊字符进行 HTML 转义,防止 XSS 攻击。

  1. <p>欢迎,<%= username %>!</p>

3. <%-... %>:输出原始的变量值

这个标签用于输出原始的变量值,不会进行 HTML 转义。通常用于输出 HTML 代码。

  1. <%- htmlContent %>

4. <%#... %>:注释

这个标签用于添加注释,注释不会在最终的 HTML 中显示。

  1. <%# 这是一个注释 %>

EJS 在 Node.js 中的使用示例

下面是一个完整的 Node.js 项目示例,演示如何使用 EJS 模板引擎。

项目结构

  1. project/
  2. ├── app.js
  3. ├── views/
  4. └── index.ejs

代码实现

1. 创建 EJS 模板文件 views/index.ejs

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>EJS 示例</title>
  7. </head>
  8. <body>
  9. <h1>欢迎,<%= username %>!</h1>
  10. <h2>你的爱好有:</h2>
  11. <ul>
  12. <% hobbies.forEach(function(hobby) { %>
  13. <li><%- hobby %></li>
  14. <% }); %>
  15. </ul>
  16. </body>
  17. </html>

2. 创建 Node.js 服务器文件 app.js

  1. const express = require('express');
  2. const app = express();
  3. const port = 3000;
  4. // 设置视图引擎为 EJS
  5. app.set('view engine', 'ejs');
  6. // 定义路由
  7. app.get('/', (req, res) => {
  8. const data = {
  9. username: '张三',
  10. hobbies: ['篮球', '阅读', '编程']
  11. };
  12. // 渲染 EJS 模板并传递数据
  13. res.render('index', data);
  14. });
  15. // 启动服务器
  16. app.listen(port, () => {
  17. console.log(`服务器运行在 http://localhost:${port}`);
  18. });

运行项目

在终端中运行以下命令启动服务器:

  1. node app.js

然后在浏览器中访问 http://localhost:3000,你将看到动态生成的 HTML 页面。

EJS 语法总结

标签 作用 示例
<%... %> 执行 JavaScript 代码 <% for(var i = 0; i < 3; i++) { %>
<%=... %> 输出经过 HTML 转义后的变量值 <%= username %>
<%-... %> 输出原始的变量值 <%- htmlContent %>
<%#... %> 注释 <%# 这是一个注释 %>

总结

EJS 是一个简单而强大的 JavaScript 模板引擎,通过嵌入 JavaScript 代码,我们可以动态生成 HTML 页面。本文介绍了 EJS 的基本语法和在 Node.js 中的使用方法,希望对你有所帮助。在实际项目中,你可以根据需要灵活运用 EJS,提高代码的可维护性和可扩展性。

模板引擎 - EJS 模板引擎 - 语法与使用