理解ejs.render()方法,说出在代码中如何完成向ejs模板文件中动态地渲染数据。
时间: 2023-06-23 07:09:25 浏览: 229
`ejs.render()` 方法是用于将 EJS 模板文件渲染为 HTML 字符串,并且可以动态地将数据注入到模板文件中。
在代码中,我们需要先引入 ejs 模块:
```javascript
const ejs = require('ejs');
```
然后,我们需要使用 `ejs.render()` 方法来渲染模板文件,该方法接受两个参数:
1. 模板文件的路径或者模板字符串
2. 包含动态数据的对象
例如,我们有一个 `index.ejs` 的模板文件,其中包含了以下代码:
```html
<html>
<head>
<title><%= title %></title>
</head>
<body>
<h1>Hello <%= name %>!</h1>
</body>
</html>
```
使用 `ejs.render()` 方法动态渲染数据到模板文件中的代码如下:
```javascript
const ejs = require('ejs');
const fs = require('fs');
const data = {
title: 'My Website',
name: 'John'
};
const template = fs.readFileSync('./index.ejs', 'utf-8');
const html = ejs.render(template, data);
console.log(html);
```
在上面的代码中,我们首先定义了包含动态数据的对象 `data`,然后读取了 `index.ejs` 模板文件,并将其存储在 `template` 变量中。接着,我们使用 `ejs.render()` 方法将 `template` 中的动态数据替换为 `data` 中的数据,并将结果存储在 `html` 变量中。最后,我们将 `html` 输出到控制台。
输出的结果应该为:
```html
<html>
<head>
<title>My Website</title>
</head>
<body>
<h1>Hello John!</h1>
</body>
</html>
```
可以看到,模板文件中的 `<%= title %>` 和 `<%= name %>` 被替换为了 `data` 中对应的值。
阅读全文