Koa中配置使用ejs模板引擎

时间:2022-07-24
本文章向大家介绍Koa中配置使用ejs模板引擎,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

安装插件

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>