模板引擎ejs详解

singsingasong.js:

const ejs=require(‘ejs‘);

ejs.renderFile(‘./views/singsingasong.ejs‘, {‘name‘:‘singsingasong‘,json: {arr: [
  {user: ‘blue‘, pass: ‘123456‘},
  {user: ‘zhangsan‘, pass: ‘654321‘},
  {user: ‘xiaoming‘, pass: ‘999999‘},
]}}, function (err, data){
  console.log(data);
});

singsingasong.ejs :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> -->
    <title>zhagnwen‘s ejs-测试</title>
</head>
<body>
    <div>
        <%= name %>
        <%= json.arr[0].user%>
        <%= json.arr[0].pass%>
        <%= 13 %> + <%= 4 %>

        <!-- 等号 是转意输出,减号 不转意输出 -->
        <% var str="<div class=‘div1’></div>" %>
        <%-str %>
        <!-- 引用 a.txt文件 -->
        <% include ../a.txt %>

        <%for(var i=0;i<5;i++){%>
            <% include ../a.txt %>      //引入外部文件时注意层级‘../’
            <% } %>
        }
    </div>
</body>
</html>

知识点:

如果用到include,必须把它单独标记出来.因为它是ejs自带的,不是js的:

<% if(type==‘admin‘){ %>
<% include ../style/admin.css %>
<%}else{%>
<% include ../style/user.css %>
<% } %>
时间: 2024-08-28 22:27:12

模板引擎ejs详解的相关文章

模板引擎使用详解:包含公共模板

ThinkPHP内置了一个基于XML的编译型模板引擎,本篇开始对其内置的标签做深入的讲解,如果你使用的是Smarty等第三方模板引擎,请忽略. 变量的输出我们已经在快速入门的变量输出中做了详细的描述,后面主要讲解变量的输出判断.循环和控制,以及包含公共模板和资源文件等. 包含公共模板 [-more-] include标签 使用include标签在当前模板中包含公共模板,例如常见的header和footer等公共模板,include标签最常用的属性是file,但是支持不同的用法,其用法基本和我们常

freemaker模板引擎使用详解

目录: 一.freemaker介绍 二.freemaker的使用 正文: 一.freemaker介绍 1.1FreeMarker概述:FreeMarker是一款模板引擎,即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具. 1.2获得FreeMarker 官网:http://freemarker.org/ 中文帮助文档:https://sourceforge.net/projects/freemarker/files/chinese-manu

flask中jinjia2模板引擎使用详解4

接上文 For循环 和其它编程语言一样,for用来编辑列表中的项.下面以一个例子来说明for在flask的jinjia2模板中的使用. 创建一个模板list.html 代码如下: {% %} {% %}      {% %}      <>{{ }}</>      {% %} {% %} 在code.py中添加url规则 @app.route() renderList():      users = [,,]      render_template(,users = users

flask中jinjia2模板引擎使用详解5

接上文 宏 可以理解为函数,即把一些常用的模板片段做好封装,以便于重用,减少工作量和维护难度. 宏的定义很简单: {%macro xxx()%} ##这里写内容 {%endmacro%} 下面引用官方的一个例子进行说明: {% macro input(name, value='', type='text', size=20) -%} <input type="{{ type }}" name="{{ name }}" value="{{ value|

cocos2d-x3.0 新的物理引擎之详解setCategoryBitmask()、setContactTestBitmask()、setCollisionBitmask()

转载请注明出处:游戏开发实验室http://blog.csdn.net/u010019717/article/details/32942641 我在编写游戏的时候遇到了这个问题,  物理引擎其他的内容还好理解,  就这三个函数就是没找到有人详细的解释一下.  我不知道这个都没弄明白,游戏是怎么做出来的.那我就不吐糟了,      下面的所有内容都是我的个人推断.不知道正不正确.    反正我目前是这么理解的. 我们先来看看这三个函数的定义: /** * A mask that defines w

【 DCOS 】织云 CMDB 管理引擎技术详解

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者 : 李琦 , 腾讯高级工程师 , 就职于网络平台部.曾负责公司海量运营系统的规划设计,如 TMP.Sniper.GSLB.IDCSpeed.IDCProbe 等网络运营平台,以及参与腾讯云云主机.云网络.云安全等基础产品规划和大客户的需求管理.目前主要聚焦在私有云基础架构的统一监管控,把腾讯基础架构的自动化管理能力以产品化方式输出. 引言 云计算经过多年的发展,逐渐从概念到渐为人认知.到接受.到现在全行业拥抱上云,云的客户也从最

平衡树初阶——AVL平衡二叉查找树+三大平衡树(Treap + Splay + SBT)模板【超详解】

平衡树初阶——AVL平衡二叉查找树 一.什么是二叉树 1. 什么是树. 计算机科学里面的树本质是一个树状图.树首先是一个有向无环图,由根节点指向子结点.但是不严格的说,我们也研究无向树.所谓无向树就是将有向树的所有边看成无向边形成的树状图.树是一种递归的数据结构,所以我们研究树也是按照递归的方式去研究的. 2.什么是二叉树. 我们给出二叉树的递归定义如下: (1)空树是一个二叉树. (2)单个节点是一个二叉树. (3)如果一棵树中,以它的左右子节点为根形成的子树都是二叉树,那么这棵树本身也是二叉

JavaScript使用Nodejs模板引擎EJS

HTML文件里加入下面一段代码(下载地址:http://www.embeddedjs.com/): <script type="text/javascript" src="ejs_production.js"></script> Syntax // load a template file, then render it with data html = new EJS({url: '/template.ejs'}).render(data)

CodeSmith模板代码生成实战详解

前言 公司项目是基于soa面向服务的架构思想开发的,项目分解众多子项目是必然的.然而子项目的架子结构种类也过多的话,就会对后期的开发维护产生一锅粥的感觉.为了尽可能的在结构层避免出现这种混乱的现象,我们就做了一个决定,使用一个统一的架子结构,让项目管理变的简单起来. 这样一来,结构中各层就会有很多重复的代码或者重复的逻辑出现,为啦提高开发效率,节约开发时间,我们采用了codesmith根据自定义模板,生成代码功能.让单表的增删改查功能从数据访问层到ui展示层一键批量生成.下面就开始我的codeS