📜  在 Node.js 中使用 EJS 作为模板引擎(1)

📅  最后修改于: 2023-12-03 14:51:03.029000             🧑  作者: Mango

在 Node.js 中使用 EJS 作为模板引擎

EJS(Embedded JavaScript)是一个基于 JavaScript 的简单而灵活的模板引擎。它可以轻松地将数据和 HTML 分离,使内容编辑更为方便,同时也可以避免复杂的字符串拼接操作。

本文将介绍如何在 Node.js 中使用 EJS 作为模板引擎,以便于开发动态 web 应用。

安装 EJS

在使用 EJS 之前,需要先安装它。可以通过 NPM(Node.js 包管理器)来完成:

npm install ejs
使用 EJS

接下来我们将创建一个简单的 web 应用来演示如何使用 EJS。

首先,我们需要创建一个名为 index.js 的文件。在文件中,我们要引入 EJS 和 Express。

const express = require('express');
const ejs = require('ejs');
const app = express();

// ... 其他代码

一旦我们将 EJS 和 Express 导入到我们的代码中,便可以使用 EJS。

要使用 EJS,我们需要指定视图引擎为 EJS。

app.set('view engine', 'ejs');

现在,我们可以定义我们的路由。这里我们定义了一个简单的路由,用于渲染一个 EJS 视图。

app.get('/', function(req, res) {
  let title = 'Hello World';
  res.render('index', { title: title });
});

在上面的代码中,我们使用了 res.render() 方法渲染一个 EJS 视图。其中,第一个参数 index 是我们视图的名称,第二个参数是一个对象,我们将 title 设置为 Hello World

接下来,我们需要创建一个名为 index.ejs 的 EJS 视图文件。

<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
  </head>
  <body>
    <h1><%= title %></h1>
    <p>Welcome to my website!</p>
  </body>
</html>

在上面的代码中,我们使用了 EJS 的模板语法。其中,<%= title %> 将会被渲染为 Hello World

现在我们可以运行我们的应用并查看结果了。

node index.js
EJS 常用语法

在使用 EJS 进行模板编写时,有一些常用的语法。

输出值

在 EJS 中,用 <%= %> 标签包装式可以输出值,例如:

<body>
  <h1><%= title %></h1>
</body>

在上面的代码中,<%= title %> 表示输出 title 变量中的值。

执行代码

在 EJS 中,用 <% %> 标签包装式可以执行代码,例如:

<body>
  <% for (let i = 0; i < fruits.length; i++) { %>
    <li><%= fruits[i] %></li>
  <% } %>
</body>

在上面的代码中,<% for (let i = 0; i < fruits.length; i++) { %><% } %> 用于执行 for 循环。

条件语句

在 EJS 中,也可以使用条件语句,例如:

<body>
  <% if (fruits.length > 0) { %>
    <ul>
    <% for (let i = 0; i < fruits.length; i++) { %>
      <li><%= fruits[i] %></li>
    <% } %>
    </ul>
  <% } else { %>
    <p>No fruits found.</p>
  <% } %>
</body>

在上面的代码中,<% if (fruits.length > 0) { %><% } else { %> 用于判断 fruits 是否为空。

总结

EJS 是一个非常简单且功能强大的模板引擎。在 Node.js 中使用 EJS 可以使 web 应用程序的开发更加便捷和高效。希望本文对使用 EJS 的程序员有所帮助。