一、什么是EJS
官网是这样解释的:E” 代表什么?可以表示 “可嵌入(Embedded)”,也可以是“高效(Effective)”、“优雅(Elegant)”或者是“简单(Easy)”。EJS 是一套简单的模板语言,帮你利用普通的 JavaScript 代码生成 HTML 页面。EJS 没有如何组织内容的教条;也没有再造一套迭代和控制流语法;有的只是普通的 JavaScript 代码而已。
官网的解释感觉让人摸不着头脑,通过实际使用,可以这么理解:就是可以直接在标签内部写入js代码,这样就可以直接将服务端传过来的数据直接显示在界面上。
二、EJS的优点:
图源官网:https://ejs.bootcss.com/
三、示例
使用ejs前需要安装:npm install ejs
app.js
// 配置ejs模版
// 模版文件所在的目录
const kv = Koaviews('views', {
// 模版文件的后缀
extension: 'ejs'
})
app.use(kv);
router.get('/foo', async ctx => {
//将{ age: 23 }渲染到views/index.ejs文件里
await ctx.render('index', { age: 23 })
})
index.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>ejs模版语法</div>
<!-- ejs模版语法,读取变量age,是从render传递过来的 -->
<div>年龄是:<%= age %>岁</div>
</body>
</html>