(二)koa2使用ejs的语法——服务端模板渲染引擎

简介:

首先就是koa的ejs是在views里面的存放的,在里面新建 文件.ejs ,里面写相应的模板内容。
然后需要注意的是 在app.js里面是需要有相应的注册的
在这里插入图片描述

输出变量:

数据的获取总体还是在路由文件中可以拿到,所以在路由的上

这个实际上的意思就是在访问的这个路由的时候,就是将其所引导到一个页面上
router.get('/', async (ctx, next) => {
  await ctx.render('index', {
    title: 'Hello Koa 2!'
  })
})

render的后面上写的index中就是在index.ejs,后边写一个名字,然后后边把相应的变量名字传过去
然后通过下面的方法就可以把数据传递过去

<title><%= title %></title>

不确定变量是否存在的

注意:要是你ejs中写的变量没有传入,则会直接显示error页面,
所以:要在不确定的变量之前加上 ——locals.变量名——来解决这个问题
就是这样的一种用法没有啥特殊的地方

判断和循环

判断

<div>
	<% if(isMe){   %>
		<a herf="#"> @ 提到我的(3) </a>
	<% } else { %>
		<button>关注</button>
	<% } %>	
</div>

循环

一般就是展示列表

blogList:[
	{
		id:1,
		title:'1'
	},
	{
		id:2,
		title:'2'
	}
]
其实就是通过相应的语法去展示循环的列表
<ul>
<% blogList.forEach(blog => {  %>
	<li> <%= blog.title %> </li>
<%  }) %>
</ul>

引用组件

抽离组件 可以新建一个的文件(比如新建文件夹widgets/user-info.ejs)
里面可以放上边判断的内容
然后引用

<%- include('widgets/user-info' , { 
	里面写需要传的值
	isMe:isMe
} )   %>

ejs文件中 可以写 script标签

因为这个是属于ssr的渲染,所以有的可以在script中写上ajax的请求,直接在上述方面去用

posted @ 2022-08-09 11:31  无梦南柯  阅读(250)  评论(0编辑  收藏  举报