在 Node.js 中,Express.js 是一个流行的 Web 框架。它提供了一些有用的功能,例如路由、中间件和模板引擎。在本文中,我们将介绍如何在 Express.js 中使用 ejs 模板引擎。
什么是 ejs?
ejs 是一种简单的模板语言,它允许你在 HTML 中嵌入 JavaScript 代码。ejs 的语法类似于 JSP 和 ASP.NET。它可以用于服务器端和客户端渲染。
ejs 的主要特点:
- 易于学习和使用
- 支持模板继承和局部模板
- 可以使用 JavaScript 控制流语句
- 可以轻松地与 Express.js 集成
在 Express.js 中安装 ejs
在使用 ejs 模板引擎之前,你需要在 Express.js 中安装它。你可以使用 npm 安装 ejs:
npm install ejs --save
在 Express.js 中使用 ejs
在 Express.js 中使用 ejs 很简单。首先,你需要设置 Express.js 应用程序以使用 ejs 模板引擎。你可以通过以下方式实现:
const express = require('express'); const app = express(); app.set('view engine', 'ejs');
上面的代码将 ejs 设置为 Express.js 应用程序的默认模板引擎。
接下来,你需要创建一个 ejs 模板文件。ejs 模板文件的扩展名通常是 .ejs
。以下是一个简单的 ejs 模板示例:
-- -------------------- ---- ------- --------- ----- ------ ------ --------- ----------- ------- ------ --------- --- ---- -------- ------- -------
在上面的示例中,我们使用 <%= %>
语法嵌入了一个 JavaScript 表达式。这个表达式将被 ejs 渲染为一个字符串,并插入到 HTML 中。
接下来,你需要在 Express.js 应用程序中设置路由。以下是一个简单的路由示例:
app.get('/', (req, res) => { res.render('index', { name: 'World' }); });
在上面的示例中,我们使用 res.render()
方法将 index.ejs
模板渲染为 HTML。我们还将 { name: 'World' }
对象传递给模板,以便在模板中使用。
最后,你需要启动 Express.js 应用程序并访问它。如果一切正常,你将看到一个包含 Hello World!
的 HTML 页面。
ejs 的控制流语句
ejs 支持多种控制流语句,例如 if、for 和 switch。以下是一个使用 if 语句的示例:
-- -------------------- ---- ------- --------- ----- ------ ------ --------- ----------- ------- ------ -- -- ------ - -- --------- --- --------- -------- -- - ---- - -- --------- ----------- -- - -- ------- -------
在上面的示例中,我们使用 <% %>
语法嵌入了一个 if 语句。如果 user
对象存在,我们将显示一个包含用户名称的标题。否则,我们将显示一个包含 Hello World!
的标题。
ejs 的局部模板
ejs 还支持局部模板,这使得模板重用更加容易。以下是一个使用局部模板的示例:
-- -------------------- ---- ------- --------- ----- ------ ------ --------- ----------- ------- ------ --- ----------------- -- --------- ----------- --- ----------------- -- ------- -------
在上面的示例中,我们使用 <%- include() %>
语法嵌入了两个局部模板:header.ejs
和 footer.ejs
。这些局部模板将在主模板中显示。这使得我们可以将一些常见的 HTML 代码封装在局部模板中,以便在多个页面中重用。
结论
在本文中,我们介绍了如何在 Express.js 中使用 ejs 模板引擎。我们学习了 ejs 的基本语法,包括控制流语句和局部模板。我们还提供了一些示例代码,以便你可以更好地理解如何在 Express.js 中使用 ejs。
ejs 是一种非常有用的模板引擎,它可以帮助你轻松地创建动态网页。如果你正在使用 Express.js,那么 ejs 是一个非常不错的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6744f033c1a23897ea839e68