Express ejs模板语法

特性

快速编译与绘制输出
简洁的模板标签:<% %>
自定义分割符(例如:用 <? ?> 替换 <% %>)
引入模板片段
同时支持服务器端和浏览器 JS 环境
JavaScript 中间结果静态缓存
模板静态缓存
兼容 Express 视图系统

ejs标签含义

<%  脚本语法    %>
<%= 输入到模板  不会编译html标签 %>
<%- 非数据模板     编译 html标签 %>
<%# 注释标签,不执行、不输出内容 %>

get req.query
post req.body

安装

$ npm install ejs

选项

  • cache 编译过的函数会被缓存,需要filename

  • filename 被cache用做缓存的键,用于包含

  • context 函数执行的上下文

  • compileDebug 如果为false,不会编译调试用的工具

  • client 返回独立的编译后的函数

  • delimiter 开启或者闭合尖括号所用的字符

  • debug 输出生成的函数体

  • _with 是否使用 with() {} 结构。如果为 false 则局部数据会储存在 locals 对象中。

  • rmWhitespace 移除所有可以安全移除的空白字符,包含前导和尾后的空白字符。同时会为所有scriptlet标签开启-%>换行截断的更加安全的模式。(它不会在一行之中去除标签的换行)。

用例

<% for(let i=1;i<=5;i++){ %>
     <a href=""><%= i %></a>
     <%} %>

结果
在这里插入图片描述

包含

包含要么是绝对路径,或者如果不是的话,被视为相对于调用include的模板的路径(需要filename选项)。 例如,你在./views/users.ejs中包含./views/user/show.ejs,你应该使用<%- include(‘user/show’) %>。

你可能会用到原始输出标签(<%-)避免二次转义HTML输出。

  • <% users.forEach(function(user){ %> <%- include('user/show', {user: user}) %> <% }); %>
包含的内容在运行时插入, 所以你可以在include调用中使用变量作为路径(例如<%- include(somePath) %>)。在你顶级数据对象中的变量都可以用于所有的包含,而局部变量需要传递进来。

注意:仍然支持包含预处理指令(<% include user/show %>)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值