安装插件
npm install koa-views --save
npm install ejs --save
var koa = require('koa');
var Router = require('koa-router');
var views = require('koa-views');
var app = new koa();
var router = new Router();
/**
* 这样配置后缀名为html
* app.use(views('./views', {map: {html: 'ejs'}}))
* */
app.use(views('./views', {
extension: 'ejs' //配置后缀名为ejs
}))
// 通过中间件为每个ejs引擎赋值
app.use(async (ctx, next) => {
ctx.state.userName = "张三"
await next()
})
router.get('/', async (ctx, next) => {
let title = '你好ejs'
let list = [1111, 2222, 3333]
let content = '<h2>标题</h2>'
await ctx.render('index', {
title: title,
list: list,
content: content
});
})
app.use(router.routes())
app.use(router.allowedMethods())
app.listen(3000);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ejs模板引擎</title>
</head>
<body>
<!-- 获取外部ejs -->
<%- include ('../public/header.ejs') %>
<!-- 绑定字段 -->
<h1><%=title %> </h1>
<!-- 循环数组 -->
<ul>
<% for( let i in list ) { %>
<li><%=list[i]%> </li>
<% } %>
</ul>
<!-- 绑定富文本 -->
<%- content %>
<!-- 条件判断 -->
<% if(true){ %>
<div>打印为真</div>
<% }else{ %>
<div>打印为假</div>
<% } %>
<!-- 接收公共的信息 -->
<%=userName %>
</body>
</html>