koa使用ejs模板引擎
安装
koa-views
ejs
npm i koa-views -S
,npm i ejs -S
引入koa-views配置中间件
const views =require('koa-views')
//配置模板引擎 views是文件地址,意思就是把views下面的文件编译成html文件
app.use(views('views',{
extension:'ejs'
}))
文件名就应该是以ejs结尾在views下面
//另外的一种配置方式但是注意文件名
const views =require('koa-views')
app.use(views('views',{
map:{html:'ejs'}}
))
这里的文件名是以html结尾的
接下来就是渲染
// 配置中间件
router.get('/', async (ctx, next) => {
let title ='你好ejs' //这是js里面的数据
await ctx.render('index', //渲染用ctx.render,index是页面
{dataTitle:title} //将定义的数据title传给dataTitle
)
})
一些简单的ejs语法
- <%=dataTitle%> 获取数据 可以在里面使用js语法
- 使用js语法作为参照 换行就需要就
- <%=%> 绑定数据不解析标签
- <%- %> 绑定数据解析HTML标签
<%for(var i=0;i<arr.length;i++){%> <li> <%=arr[i]%> </li> <%}%>
- <%- include(‘public/healder’) -%> 引入内部文件活或者模块
ejs中的公共数据 ,写在中间件的地方那么在任意路由下面都可以使用
app.use(async (ctx, next) => {
ctx.state.name='张三' //ctx.state存放公共数据的地方
await next() //当前路由匹配完成继续向下匹配
})
//接收数据在任何路由下面直接引入就行<%=name%>