KOA中的ejs的基本使用
ejs
服务端模板引擎
ejs文件也可以使用script标签 来写js内容
在koa中使用ejs
先导入和注册
const views = require('koa-views')
app.use(views(__dirname + '/views', { // 这里已经说明的使用ejs模板的文件是哪个了 在后面只需要说明文件名extension: 'ejs'
})) // ejs注册
然后通过render在路由中返回ejs需要的内容和数据 比如变量
router.get('/', async (ctx, next) => {// 加await是应为 渲染时异步的await ctx.render('index', { // render两个参数 第一个是使用ejs模板的文件名 只需要文件名因为在上面导入时已经说明了文件的位置// 第二个就是传递给ejs模板的内容 比如title就是个变量title: 'Hello Koa 2!',isMe:true,blogList: [{id:1,title:'aaa'},{id:2,title:'bbb'},{id:3,title:'ccc'}]})
})
变量如何输出
ejs模板获得变量的方法
<标签><%= 变量名 %></标签> // = 表示要输出的内容 或者变量
<p><%= title %></p>
如果以这种方式传入的变量没有就会报错
不报错的方法是<p><%= locals.title %></p>
这种方法的变量不存在会返回一个空
循环和判断的方法
ejs的逻辑代码 要一行就写一个<% 逻辑代码 %>
包括“{” “}”等
<div><% if (isMe){ %><a>if的结果</a><% } else{ %><a>else的结果</a><% } %>
</div>
<ul><% blogList.forEach(blog => { %><li data-id="<%= blog.id %>"><%= blog.title %></li><% }) %>
</ul>
引用的组件
就是将一些重复用到的内容写到一个文件内 ,通过引用的方法重复使用
引入的方法<%- include('路径/文件名',{传入的参数}) %>
传入的参数是在组件中的变量之类的
// widgets/user-info的文件
<div><% if (isMe){ %><a>if的结果</a><% } else{ %><a>else的结果</a><% } %>
</div>
//index.ejs的文件
<!DOCTYPE html>
<html><head><title><%= title %></title><link rel='stylesheet' href='/stylesheets/style.css' /></head><body> <h1><%= title %></h1><p>EJS Welcome to <%= title %></p><hr><%- include('widgets/user-info',{isMe}) %></body>
</html>
KOA中的ejs的基本使用相关推荐
- Node.js(二)——pug模板引擎,nunjucks模板引擎,在koa中使用pug和nunjucks模板引擎
目录 1.知识点及课堂目标 2.模板引擎 3.pug模板引擎使用 3.1安装pug 3.2pug常用语法 3.2.1通过缩进关系,代替以往html的层级包含关系. 3.2.2html 元素属性/sty ...
- koa中使用cookie 和session
在koa中使用cookie app.keys = ['im a newer secret'] //设置签名的 Cookie 密钥. // 设置cookie app.use(async ctx => ...
- 谈谈Koa 中的next
前言 最近在试着把自己写的 koa-vuessr-middleware 应用在旧项目中时,因为旧项目Koa 版本为1.2,对中间件的支持不一致,在转化之后好奇地读了一下源码,整理了一下对Koa 中ne ...
- koa --- nunjucks在Koa中的使用、中间件的配置
Nunjucks在Koa中的应用 app.js const koa = require('koa'); const app = new koa(); const router = require('. ...
- Koa 中实现 chunked 数据传输
有关于 Transfer-Encoding:chunked 类型的响应,参见之前的文章HTTP 响应的分块传输.这里看 Koa 中如何实现. Koa 中请求返回的处理 虽然官方文档有描述说明不建议直接 ...
- node.js ejs_如何在Node.js应用程序中使用EJS模板
node.js ejs by Jennifer Bland 詹妮弗·布兰德(Jennifer Bland) 如何在Node.js应用程序中使用EJS模板 (How to use EJS Templat ...
- nodejs的koa中cookie和session的使用,cookie和session的区别
1.cookie是存储于访问者的计算机中的数据,用于同一浏览器访问同一域的时候共享数据 2.HTTP是无状态协议.也就是说:当你浏览了一个页面,然后跳转到同一个网站的另一个页面,服务器无法认识到这是同 ...
- Koa中使用art-template模板引擎,以及如何接受post请求等
直接上代码,每个代码的作用都有注释: 实现了以下功能: 1.koa中如何使用路由 2.koa中如何使用art-template模板引擎 3.koa中如何使用koa-static解析静态文件 4.koa ...
- 在js中使用ejs标签,js中引用ejs变量
在ejs模板页面的js代码中使用ejs标签实例 后端代码 router.get("/ejs", (req, res) => {req.title = "hello& ...
最新文章
- FastReport.net 使用 Winform WebForm打印
- innodb_force_recovery的值意思
- 【pmcaff】事件营销口碑传播疯传的秘诀在哪里?
- alm系统的使用流程_840D sl系统授权管理
- 计算机原理(计算机系统漫游)
- ReviewForJob——桶式排序+基数排序(==多次桶式排序)
- 如何用纯 CSS 创作一个文本淡入淡出的 loader 动画
- leetcode580. 统计各专业学生人数(SQL)
- Scrapy 爬虫框架初体验二 —— 以一个新闻站点爬取为例
- ux和产品经理_为什么您的产品团队需要UX研究人员
- elasticsearch查询操作(使用marvel插件)
- 丈夫创业前后累计11次
- python批量读取Excel文件
- 文件读入简单操作(C#)
- 【海量地图图源合集】教你如何一键获取150+高清卫星影像、电子地图、地质图、DEM等地图图源
- Python一行代码实现ADF检验(时间序列平稳性检验)(包含结果解读)
- Excel表格不小心删除怎么恢复,excel表格误删怎么找回
- 软件工程----UML建模
- 佳能扫描仪按下按钮后自动打开phtoshop怎么办
- Microsoft SQL Server Download
热门文章
- 有关国土的几个重大项目
- android冒烟测试自动化,安卓自动化测试总结(五)——测试结果发送及内容展示...
- windows离线安装grunt_chrome火狐离线安装包下载
- pwm驱动电机 为什么pwm不能太快_认识直流电机的PWM驱动控制电路
- PL-VIO论文阅读
- linux 获取文件父目录权限,使用setfacl实现子目录继承父目录权限
- Java基础---File类,就是这么简单
- github优秀前端项目分享(转)
- [Android]BaseExpandableListAdapter实现可折叠列表
- Qt GUI@学习日志