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的基本使用相关推荐

  1. Node.js(二)——pug模板引擎,nunjucks模板引擎,在koa中使用pug和nunjucks模板引擎

    目录 1.知识点及课堂目标 2.模板引擎 3.pug模板引擎使用 3.1安装pug 3.2pug常用语法 3.2.1通过缩进关系,代替以往html的层级包含关系. 3.2.2html 元素属性/sty ...

  2. koa中使用cookie 和session

    在koa中使用cookie app.keys = ['im a newer secret'] //设置签名的 Cookie 密钥. // 设置cookie app.use(async ctx => ...

  3. 谈谈Koa 中的next

    前言 最近在试着把自己写的 koa-vuessr-middleware 应用在旧项目中时,因为旧项目Koa 版本为1.2,对中间件的支持不一致,在转化之后好奇地读了一下源码,整理了一下对Koa 中ne ...

  4. koa --- nunjucks在Koa中的使用、中间件的配置

    Nunjucks在Koa中的应用 app.js const koa = require('koa'); const app = new koa(); const router = require('. ...

  5. Koa 中实现 chunked 数据传输

    有关于 Transfer-Encoding:chunked 类型的响应,参见之前的文章HTTP 响应的分块传输.这里看 Koa 中如何实现. Koa 中请求返回的处理 虽然官方文档有描述说明不建议直接 ...

  6. node.js ejs_如何在Node.js应用程序中使用EJS模板

    node.js ejs by Jennifer Bland 詹妮弗·布兰德(Jennifer Bland) 如何在Node.js应用程序中使用EJS模板 (How to use EJS Templat ...

  7. nodejs的koa中cookie和session的使用,cookie和session的区别

    1.cookie是存储于访问者的计算机中的数据,用于同一浏览器访问同一域的时候共享数据 2.HTTP是无状态协议.也就是说:当你浏览了一个页面,然后跳转到同一个网站的另一个页面,服务器无法认识到这是同 ...

  8. Koa中使用art-template模板引擎,以及如何接受post请求等

    直接上代码,每个代码的作用都有注释: 实现了以下功能: 1.koa中如何使用路由 2.koa中如何使用art-template模板引擎 3.koa中如何使用koa-static解析静态文件 4.koa ...

  9. 在js中使用ejs标签,js中引用ejs变量

    在ejs模板页面的js代码中使用ejs标签实例 后端代码 router.get("/ejs", (req, res) => {req.title = "hello& ...

最新文章

  1. FastReport.net 使用 Winform WebForm打印
  2. innodb_force_recovery的值意思
  3. 【pmcaff】事件营销口碑传播疯传的秘诀在哪里?
  4. alm系统的使用流程_840D sl系统授权管理
  5. 计算机原理(计算机系统漫游)
  6. ReviewForJob——桶式排序+基数排序(==多次桶式排序)
  7. 如何用纯 CSS 创作一个文本淡入淡出的 loader 动画
  8. leetcode580. 统计各专业学生人数(SQL)
  9. Scrapy 爬虫框架初体验二 —— 以一个新闻站点爬取为例
  10. ux和产品经理_为什么您的产品团队需要UX研究人员
  11. elasticsearch查询操作(使用marvel插件)
  12. 丈夫创业前后累计11次
  13. python批量读取Excel文件
  14. 文件读入简单操作(C#)
  15. 【海量地图图源合集】教你如何一键获取150+高清卫星影像、电子地图、地质图、DEM等地图图源
  16. Python一行代码实现ADF检验(时间序列平稳性检验)(包含结果解读)
  17. Excel表格不小心删除怎么恢复,excel表格误删怎么找回
  18. 软件工程----UML建模
  19. 佳能扫描仪按下按钮后自动打开phtoshop怎么办
  20. Microsoft SQL Server Download

热门文章

  1. 有关国土的几个重大项目
  2. android冒烟测试自动化,安卓自动化测试总结(五)——测试结果发送及内容展示...
  3. windows离线安装grunt_chrome火狐离线安装包下载
  4. pwm驱动电机 为什么pwm不能太快_认识直流电机的PWM驱动控制电路
  5. PL-VIO论文阅读
  6. linux 获取文件父目录权限,使用setfacl实现子目录继承父目录权限
  7. Java基础---File类,就是这么简单
  8. github优秀前端项目分享(转)
  9. [Android]BaseExpandableListAdapter实现可折叠列表
  10. Qt GUI@学习日志