第03讲 koa2使用ejs

1. 下载依赖包

npm install koa-views --save
npm install ejs --save

2. index.js页面代码

// 引入koa
const koa = require('koa');
const app = new koa();

// 注意:引入的方式
const router = require('koa-router')();

const views = require('koa-views');
// 配置模版引擎中间件
// 如果这样配置不修改html后缀g改成ejs
app.use(views('views',{extension:'ejs'}));
// 如果这样配置不修改html后缀
// app.use(views('views',{map:{html:'ejs'}}));

// 公共数据,每个路由里面都要该数据
app.use(async (ctx,next)=>{
    ctx.state = {
        userName:'张三'
    }
    // 继续向下匹配路由
    await next(); 
});

router.get('/',async (ctx)=>{
    let title = '你好ejs';
    let list = ['哈哈','嘻嘻','看看','问问'];
    let content = "

这是一个h2

"; let num = 10; await ctx.render('index',{ title,list,content,num }); }); // 作用:启动路由 app.use(router.routes()); // 作用:这是官方文档的推荐用法,我们可以看到 router.allowedMethords() 用在 router.routes() 之后, // 所有,在当所有的路由中间件最后使用.此时根据 ctx.status 设置 response 响应头 app.use(router.allowedMethods()); // 监听端口≈ app.listen(3000,function(){ console.log('启动成功'); });

3. 新建文件夹views并新建子文件index.ejs



  
    
  
  
    

普通模版

<%=title%> <%=userName%>

ejs循环输出模版

    <%for(var i = 0;i
  • <%= list[i] %>
  • <%}%>

原文输出标签

<%- content %>

条件判断

<% if(num > 20){ %> 大于20 <% }else{ %> 小于20 <% } %>

你可能感兴趣的:(第03讲 koa2使用ejs)