在 Express.js 中使用 ejs 模板引擎

阅读时长 4 分钟读完

在 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:

在 Express.js 中使用 ejs

在 Express.js 中使用 ejs 很简单。首先,你需要设置 Express.js 应用程序以使用 ejs 模板引擎。你可以通过以下方式实现:

上面的代码将 ejs 设置为 Express.js 应用程序的默认模板引擎。

接下来,你需要创建一个 ejs 模板文件。ejs 模板文件的扩展名通常是 .ejs。以下是一个简单的 ejs 模板示例:

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

在上面的示例中,我们使用 <%= %> 语法嵌入了一个 JavaScript 表达式。这个表达式将被 ejs 渲染为一个字符串,并插入到 HTML 中。

接下来,你需要在 Express.js 应用程序中设置路由。以下是一个简单的路由示例:

在上面的示例中,我们使用 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.ejsfooter.ejs。这些局部模板将在主模板中显示。这使得我们可以将一些常见的 HTML 代码封装在局部模板中,以便在多个页面中重用。

结论

在本文中,我们介绍了如何在 Express.js 中使用 ejs 模板引擎。我们学习了 ejs 的基本语法,包括控制流语句和局部模板。我们还提供了一些示例代码,以便你可以更好地理解如何在 Express.js 中使用 ejs。

ejs 是一种非常有用的模板引擎,它可以帮助你轻松地创建动态网页。如果你正在使用 Express.js,那么 ejs 是一个非常不错的选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6744f033c1a23897ea839e68

纠错
反馈