第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>这是一个h2</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

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <h1>普通模版</h1>
    <h2><%=title%> <%=userName%></h2>
    <h1>ejs循环输出模版</h1>
    <ul>
      <%for(var i = 0;i<list.length;i++){%>
        <li><%= list[i] %></li>
      <%}%>
    </ul>
    <h2>原文输出标签</h2>
    <%- content %>
    <h2>条件判断</h2>
    <% if(num > 20){ %>
      大于20
    <% }else{ %>
      小于20
    <% } %>
  </body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,159评论 25 708
  • Express 基于Node.js 平台,快速、开放、极简的 web 开发框架。 Express使用文档 新建项目...
    阿鲁提尔阅读 1,725评论 1 3
  • 搭建开发环境并模拟交互数据 一、实验说明 下述介绍为实验楼默认环境,如果您使用的是定制环境,请修改成您自己的环境介...
    玄月府的小妖在debug阅读 2,246评论 0 15
  • 感赏!这几天已经爽翻!自己的能量真的是变了!这么多人跑这么远来陪我玩儿,又给了我那么多建议! 今天这个姐姐其实...
    猫公主喵阅读 130评论 0 0
  • 好现实的一段话: 你冷落了我, 我也会慢慢地冷落你; 能习惯有你的陪伴, 也能习惯没有你的孤单。 慢慢地,都淡了,...
    赵小婵阅读 300评论 0 0

友情链接更多精彩内容