如何在 Express.js 中使用 EJS 模板引擎

在 Express.js 中,使用 EJS 模板引擎可以方便地将动态数据渲染到 HTML 页面中。本文将介绍如何在 Express.js 中使用 EJS 模板引擎,并给出详细的步骤和示例代码,帮助读者快速掌握相关技能。

安装和配置

首先,通过 npm 安装 EJS 模板引擎:

--- ------- --- ------

安装完成后,在 Express.js 中配置 EJS 模板引擎,将其设置为默认的视图引擎:

----- ------- - -------------------
----- --- - ----------

------------- -------- -------

------------ ------------- ---- -
  ------------------- ------- ----------- ---- -------
---

---------------- ---------- -
  ------------------- ------- -- ---- ----------
---

在上面的代码中,我们首先通过 require 引入 express 模块,并创建了一个 Express 应用。然后,使用 app.set() 方法,将 EJS 模板引擎设置为默认的视图引擎。在 app.get() 方法中,我们通过 res.render() 方法将渲染后的 HTML 页面返回给客户端。

EJS 模板语法

在 EJS 模板中,可以使用以下一些特殊的标签和语法:

输出变量

使用 <%= %> 标签可以将变量的值输出到 HTML 页面中:

------- ----- -------

在上面的代码中,我们通过 <%= %> 标签将 title 变量输出到 HTML 页面中。

条件语句

使用 <% %><%= %> 标签可以创建条件语句:

-- -- ------ - --
  ----------- --- --------- --------
-- - ---- - --
  -- -----------------------
-- - --

在上面的代码中,我们通过 <% %><%= %> 标签创建了一个条件语句。如果 user 存在,则输出欢迎消息;否则输出登录链接。

循环语句

使用 <% %><%= %> 标签可以创建循环语句:

----
  -- --- ---- - - -- - - ------------- ---- - --
    ------- ------------- -------
  -- - --
-----

在上面的代码中,我们通过 <% %><%= %> 标签创建了一个循环语句,将 users 数组中的每个用户的 name 属性输出到 HTML 页面中。

示例代码

下面是一个完整的示例代码,演示了如何在 Express.js 中使用 EJS 模板引擎:

----- ------- - -------------------
----- --- - ----------

------------- -------- -------

------------ ------------- ---- -
  ----- ---- - -
    ------ ----------- ---- -----
    ------ -
      ------ ---------
      ------ -------
      ------ ----------
    -
  --
  ------------------- ------
---

---------------- ---------- -
  ------------------- ------- -- ---- ----------
---

在上面的代码中,我们首先通过 require 引入 express 模块,并创建了一个 Express 应用。然后,使用 app.set() 方法,将 EJS 模板引擎设置为默认的视图引擎。在 app.get() 方法中,我们创建了一个对象 data,包含一个 title 变量和一个 users 数组。最后,通过 res.render() 方法将 data 对象渲染后的 HTML 页面返回给客户端。

总结

本文介绍了如何在 Express.js 中使用 EJS 模板引擎,并给出了详细的步骤和示例代码。希望本文对读者有一定的指导意义,可以帮助读者快速掌握相关技能。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64c335c283d39b488172d400


猜你喜欢

  • Redis 内存使用过高问题及解决方法

    Redis 是一个非常流行的内存数据库,被广泛应用于前端开发中。然而,在使用 Redis 的过程中,我们很容易遇到一些内存使用过高的问题。这篇文章将向大家介绍 Redis 内存使用过高问题的原因以及解...

    1 年前
  • ESLint 插件:你可能需要了解的 5 个最佳

    ESLint 是一个基于 JavaScript 的静态代码分析工具,它可以帮助团队发现代码中的潜在问题,并提供修复建议。ESLint 插件可以进一步增强工具在项目中的功能和应用范围。

    1 年前
  • Sequelize UniqueConstraintError:如何解决唯一键约束错误

    Sequelize是一个流行的Node.js ORM,它提供了一种便捷的方式来连接和操作关系型数据库。其中,UniqueConstraintError是一种常见的错误,它表明在创建新的数据时违反了唯一...

    1 年前
  • CSS Flexbox 中实现等高布局及定位问题的解决方法

    随着互联网和移动设备的飞速发展,前端开发也在不断地发展和进步。现在的网页设计越来越注重布局的响应性和样式的平衡性。在前端布局中,等高布局是一种比较常见的需求,本文将介绍如何使用 CSS 中的 Flex...

    1 年前
  • 如何实现自定义元素的属性绑定?

    在前端开发中,有时候我们会需要自定义 HTML 元素,并为这些元素添加自定义属性,并且希望在值发生变化时能够自动更新相关内容。这个过程就是属性绑定。在本文中,将介绍如何实现自定义元素的属性绑定。

    1 年前
  • Serverless 架构下的函数代码管理与部署指南

    随着云计算技术的不断发展,Serverless 架构越来越受到前端开发人员的关注和使用。Serverless 架构的优势在于强调代码的最小化和功能的最大化,使得我们可以更加专注于代码实现,而不必过多考...

    1 年前
  • 如何使用 Enzyme 测试 React 组件渲染的效果

    Enzyme 是 React 生态系统中非常流行的一个测试工具,它提供了一个简单而强大的 API 来测试 React 组件的渲染效果。本文将介绍如何使用 Enzyme 来测试 React 组件的渲染效...

    1 年前
  • 使用 Mongoose 来操作 MongoDB 数据库

    Mongoose 是一个在 Node.js 中使用的 MongoDB ORM 库,它提供了一种非常方便的方式来定义 MongoDB 数据库中的文档、集合以及与之交互的操作方式。

    1 年前
  • Deno 应用在不同操作系统上的兼容性问题怎么办?

    Deno 作为一个新兴的后端 JavaScript 运行时环境,正在逐渐成为现代 Web 应用开发的重要工具。然而,由于不同操作系统的特性,Denom在不同操作系统上的兼容性问题成为了开发者关注的一个...

    1 年前
  • AngularJS 中的 $q 服务及使用详解

    在 AngularJS 中,$q 是一个非常有用的服务。它可以帮助我们更好地管理异步操作,并提供了一些非常实用的功能,如 promise。在本文中,我们将探讨 $q 服务的基础知识以及如何使用它来简化...

    1 年前
  • SASS 中如何使用函数处理单位

    在前端开发中,我们经常需要处理数字和单位的结合,比如像像素(px)、百分比等单位。SASS 提供了一系列的函数,可以帮助我们更方便地处理单位的问题。接下来,我们将详细介绍这些函数的用法。

    1 年前
  • Hapi.js 中使用 Node-cron:设置定时任务

    在 Web 开发中,我们常常需要执行一些定时任务,比如定时备份数据库、定时发送邮件、定时爬取数据等等。Node.js 生态系统中有很多库可以实现这一需求,其中一个非常流行的库就是 node-cron。

    1 年前
  • SSE 实现大规模数据处理的应用场景及方案介绍

    SSE(Server-Sent Events) 是一种基于 HTTP 的服务器端推送技术。它允许服务器向客户端发送事件流,而客户端可以在接收到事件后进行数据处理。SSE 主要应用于实时性要求较高的场景...

    1 年前
  • Socket.io 实现远程屏幕共享的应用方案

    1. 什么是 Socket.io? Socket.io 是一种开源实时网络库,提供了实时双向通信的功能,特别是在 Web 应用程序中非常常用。它采用了 WebSocket 协议,具有轻量、简单易用、高...

    1 年前
  • Cypress 测试中如何处理验证码及生成数据并发问题

    Cypress 是一个基于 JavaScript 的前端自动化测试工具,它具有简单易用、快速高效、强大可靠等特点,在企业级前端开发中被广泛应用。然而,在测试过程中还会遇到一些问题,比如验证码及生成数据...

    1 年前
  • MongoDB 数据恢复的最佳实践方法

    MongoDB是一款非常流行的数据库,它的特点是高性能、可扩展性强。然而在使用 MongoDB 过程中不可避免的会遇到数据丢失、损坏等问题,这时候需要进行数据恢复。

    1 年前
  • SPA 应用部署方案 ——Docker + nginx

    概述 随着前端技术的不断发展,单页面应用程序(Single Page Application)已经成为了主流的 Web 应用程序的开发方式。在部署 SPA 应用程序时,使用 Docker 和 ngin...

    1 年前
  • Fastify 应用程序集成 CI/CD 流程指南

    Fastify 是一款快速、低开销、开放式的 Web 框架。本文将介绍如何将 Fastify 应用程序集成到 CI/CD 流程中,以确保更高效、更高质量的应用程序交付。

    1 年前
  • Chai.js 中 assert.rejects 和 assert.doesNotReject 方法的使用

    在前端开发中,测试是非常重要的环节。测试可以帮助我们发现问题,保证代码质量。Chai.js 是一个常用的 Jest 类库,它提供了很多方便的 API 来进行测试。在本文中,我们将着重介绍 Chai.j...

    1 年前
  • Babel 中如何使用 async/await 函数并解决遇到的常见错误

    在前端开发中,我们经常使用异步操作来处理网络请求和其他资源加载。ES2017 引入了 async/await 关键字,使得异步操作的代码更加简洁、易于理解和维护。然而,由于不是所有浏览器都支持 ES2...

    1 年前

相关推荐

    暂无文章