📅  最后修改于: 2023-12-03 14:51:03.029000             🧑  作者: Mango
EJS(Embedded JavaScript)是一个基于 JavaScript 的简单而灵活的模板引擎。它可以轻松地将数据和 HTML 分离,使内容编辑更为方便,同时也可以避免复杂的字符串拼接操作。
本文将介绍如何在 Node.js 中使用 EJS 作为模板引擎,以便于开发动态 web 应用。
在使用 EJS 之前,需要先安装它。可以通过 NPM(Node.js 包管理器)来完成:
npm install 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 中,用 <%= %>
标签包装式可以输出值,例如:
<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 的程序员有所帮助。