美文网首页
ejs模版语法

ejs模版语法

作者: AizawaSayo | 来源:发表于2021-04-16 11:42 被阅读0次

模板语言是什么?就是帮我们用 JavaScript 代码生成 HTML 页面。那我们看下它怎么渲染 HTML:

const ejs = require('ejs'),
let people = ['geddy', 'neil', 'alex']
const html = ejs.render('<%= people.join(", "); %>', {people: people});

是不是和 ReactDOM 的 render 很像?

ReactDOM.render(<h1>Hello, Mum</h1>, document.getElementById('root'));

用模版语言渲染页面的方法都大同小异,而且一般也不会单独用ejs,像vue-cli这些框架都帮我们集成好了。所以这个部分不用太过关注,更不用去精读它的教程。在现代项目里,我们一般只需要用到它的模版语法。

ejs 语法

1. 纯脚本标签

<% code %>
里面可以写任意的 js,用于流程控制,无任何输出。

<% alert('hello world') %> // 会执行弹框

2. 输出经过 HTML 转义的内容

<%= value %> 可以是变量
<%= a ? b : c %> 也可以是表达式
<%= a + b %>
即变量如果包含 '<'、'>'、'&'等HTML字符,会被转义成字符实体,像&lt; &gt; &amp;
因此用<%=,最好保证里面内容不要有HTML字符

const text = '<p>你好你好</p>'
<h2><%= text %></h2> // 输出 &lt;p&gt;你好你好&lt;/p&gt; 插入 <h2> 标签中

3. 输出非转义的内容(原始内容)

<%- 富文本数据 %> 通常用于输出富文本,即 HTML内容
上面说到<%=会转义HTML字符,那如果我们就是想输出一段HTML怎么办呢?
<%-不会解析HTML标签,也不会将字符转义后输出。像下例,就会直接把 <p>我来啦</p> 插入 <h2> 标签中

const content = '<p>我来啦</p>'
<h2><%- content %></h2>

4. 引入其他模版

<%- include('***文件路径') %>
将相对于模板路径中的模板片段包含进来。
<%- include指令而不是<% include,为的是避免对输出的 HTML 代码做转义处理。

// 当前模版路径:./views/tmp.ejs
// 引入模版路径:./views/user/show.ejs
<ul>
  <% users.forEach(function(user){ %>
    <%- include('user/show', {user: user}); %>
  <% }); %>
</ul>

5. 条件判断

<% if (condition1) { %>
  ... 
<% } %>

<% if (condition1) { %>
  ... 
<% } else if (condition2) { %>
  ... 
<% } %>

// 举例
<% if (a && b) { %>
  <p>可以直接放 html 内容</p>
<% } %>

<% if (a && b) { %>
  <% console.log('也可以嵌套任意ejs模版语句') %>
<% } %>

6. 循环

<% for(var i = 0; i < target.length; i++){ %>
  <%= i %> <%= target[i] %>
<% } %>

<% for(var i in jsArr) { %>
  <script type="text/javascript" src="<%= jsArr[i] %>" ref="preload"></script>
<% } %>

// 推荐
<% for(var css of cssArr) { %>
  <link rel="stylesheet" href="<%= css %>" />
<% } %>

相关文章

  • ejs模版语法

    模板语言是什么?就是帮我们用 JavaScript 代码生成 HTML 页面。那我们看下它怎么渲染 HTML: 是...

  • 10.1KOA ejs 模版引擎

    ejs 模版引擎 安装模版引擎中间件 安装模版引擎 定义模版 使用模版引擎 具体 ejs 模版引擎使用 http:...

  • express 中间件之“模版引擎”

    在express里帮我们集成了ejs模版引擎,引入他之后可以直接用ejs,第一步安装 模版引擎的应用 ejs.js...

  • Nodejs 学习2 Koa

    1、Koa ejs 模版引擎 1)安装 koa-views 和 ejs a、 安装 ko...

  • 试着使用ejs模版引擎

    如果使用ejs模版引擎,必须要安装ejs模块 目标:使用ejs模板向输出一个html文件,html中的内容为ejs...

  • 快速笔记

    hygen hygen的prompt事例 ejs ejs模板语法

  • 小白学react之网页获取微信用户信息

    通过上一篇《小白学react之EJS模版实战》我们学习了如何通过EJS模版生成我们高定制化的index.html文...

  • EJS 模版使用

    之前一直用 underscore 的 _.template() 填充htnl模版,但是后面发现有几个点的问题,一个...

  • EJS语法

    EJS语法 <%%> js的代码 <%= %> 输出的内容 四部曲 四部曲 1:引进ejs.min.js插件 2:...

  • ejs语法

    在一个页面引入另一个页面并穿参<%- include("./inc/service.ejs",{text:'如果這...

网友评论

      本文标题:ejs模版语法

      本文链接:https://www.haomeiwen.com/subject/iwmrlltx.html