- 根据指定的模板,批量生成多个类似的东西
- 服务器的模板引擎
安装
npm install ejs
语法
/*
ejs语法:
<% xxx %> 里面能写任意的js代码,但不会向浏览器发送任何东西.
<%- xxx%> 能够读取船体过来对象指定key所对应value渲染到页面
<%%= xxx%> 能够读取变量将内容渲染到页面
*/
示例
/*
ejs模板的使用
haha
person.ejs
*server.js
*/
const express = require("express");
const app = express()
// 让你的服务器知道你在哪一个模板引擎--- 配置模板引擎
app.set('view engine','ejs')
// 让你的服务器知道你的模板在那个目录下,配置模板目录
app.set('views','./haha')
// 如果在express中基于node搭建的服务器,使用ejs无需引入
app.get('/show',function (request,response) {
let personArr = [
{name:'peiqi',age:4},
{name:'suxi',age:5},
{name:'peideluo',age:6}
]
response.render('person',{persons:personArr})
})
app.listen(3000,(err)=>{
if(err){
console.log("服务器启动失败")
}else{
console.log("服务器启动成功")
}
})
/*
ejs模板的使用
haha
*person.ejs
server.js
*/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>hello word</h1>
<%
for (var i=0; i<persons.length; i++ ){
let item = persons[i] %>
<ul>
<li class="name">姓名:<%=item.name%></li>
<li>年龄:<%=item.age%></li>
</ul>
<%}%>
</body>
</html>