模板引擎

模板引擎是用来渲染页面的。页面中一部分内容是根据程序生成的,会变化的。

主流的模板引擎有两种:

* jade

破坏式的、强依赖的
用了它就不能用html。

* ejs

非侵入式的、比较温和。
并不破坏原有的html 、 css(其实是往里面加入东西。)

jade

  • 根据缩进,规定层级
  • 属性放在()里面,逗号分隔
  • 内容空个格,直接往后堆(但是不能换行)
div xxxspan xxxa(href="xxx") 链接

属性

<script src="a.js"></script> script(src="a.js")

内容

<a href="http://www.zhinengshe.com/">官网</a>

a(href="http://www.zhinengshe.com/") 官网

jade文件

htmlheadstylescript(src='a.js')link(rel="stylesheet", href="",type="")script window.onload = function(){var oBtn=document.getElementById('div1');}; //大段的代码可以跟在后面,但是不能换行(会报错的!)bodya(href="http://www/baidu.com/")百度a(href="http://www/qq.com/")腾讯div aaa span bbb    // 可以嵌套子元素//- style 有两种写法:普通属性写法、json写法div(style="width:200px;height:200px;background:red;")       div(style= {width: '200px',height: '200px',background: 'red'})  div(title={width:'200px', height:'200px', background:'red'})  //- class 有两种写法:普通属性写法、arr 写法div(class="aaa lefr-wrap active")div(class=['aaa','left-wrap','active'])div(title=['aaa','left-wrap','active'])//- 简写div.22div#111//-属性的另外一个写法 div(title="111" id="001")div&attributes({title:'aaa',})

TIPs:

style="width:200px;height:200px;background:red;"

1.普通属性写法
2.用json

class="aaa left-swrap active"

1.普通属性写法
2.用arr

js文件:

const jade=require('jade');var str=jade.renderFile('你的jade文件路径', {pretty: true});console.log(str);

jade.render('字符串');

jade.renderFile('模板文件名', 参数)


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Learning ROS: rqt_console和rqt_logger_level使用

rqt_console&#xff1a;操作、查看log信息 rqt_logger_level&#xff1a;设置log等级 打开node&#xff1a; rosrun rqt_console rqt_console rosrun rqt_logger_level rqt_logger_level rosrun turtlesim turtlesim_node rosrun turtlesim turtle_teleop_key 在rqt_logger_le…

WSS学习(一)---简单部署图

研究了一段时间的WSS&#xff0c;终于找到点头绪了今天把这段时间的思路整理了一下&#xff0c;结果发现就是这么一张图也不知道研究的对不对&#xff0c;有高手发现不对的给点指点有也在研究的大家一起讨论一下简单说明&#xff1a;数据库用SQL2005&#xff0c;报表用SQL2005的…

Wildfly 8.0通过其JAXRS 2.0实现提供了无缝的JSON支持。

很高兴看到Wildfly 8.0使得使用同一组JAXB类中的XML和JSON表示 两者变得更加容易&#xff0c;而无需任何额外的检查或配置不同的JAXB运行时实现。 您需要做的就是 只需从JAXRS资源类中的业务方法中返回JAXB对象 将HTTP Accept标头设置为application / json 返回JAXB类的简单…

mysql order by int_mysql order by是怎么工作的?

假设我们要查询一个市民表中城市杭州的所有人的名字&#xff0c;并且按照名字排序CREATE TABLE t (id int(11) NOT NULL,city varchar(16) NOT NULL,name varchar(16) NOT NULL,age int(11) NOT NULL,addr varchar(128) DEFAULT NULL,PRIMARY KEY (id),KEY city (city)) ENGINE…

URL模块之parse方法

url.parse(urlString , boolean , boolean) parse这个方法可以将一个url的字符串解析并返回一个url的对象。 参数&#xff1a; urlString指传入一个url地址的字符串第二个参数&#xff08;可省&#xff09;传入一个布尔值&#xff0c;默认为false&#xff0c;为true时&#x…

git使用学习笔记

## 关于Git Workspace&#xff1a;工作区 Index / Stage&#xff1a;暂存区 Repository&#xff1a;仓库区&#xff08;或本地仓库&#xff09; Remote&#xff1a;远程仓库##一、新建代码库# 在当前目录新建一个Git代码库$ git init # 新建一个目录&#xff0c;将其初始化为Gi…

over(partition by)开窗函数的使用

开窗函数是分析函数中的一种&#xff0c;开窗函数与聚合函数的区别是&#xff1a;开窗函数是用于计算基于组的某种聚合值且每个的组的聚合计算结果可以有多行&#xff0c;而聚合函数每个组的聚合计算结果只有一个。使用开窗函数可以在没有group by语句的情况下计算聚合值并将结…

发配边疆

这次要去清朝发家的地方&#xff0c;宣统皇帝待过的长春城一去&#xff0c;怕要2个年头才能回来了&#xff01;朋友们临行前给我发了许多有趣的东东感觉颇深&#xff0c;明天发上来纪念下。有帮朋友的感觉真的很好啊&#xff01;今天和女友通电话了&#xff0c;忽然有了从前的那…

在Java EE 7和WildFly中使用Bean验证来验证JAX-RS资源数据

我过去已经两次接触过这个主题。 首先&#xff0c;在我的文章《 在Java EE 6中将Bean验证与JAX-RS集成》中 &#xff0c;介绍了甚至在Java EE平台规范中未定义之前&#xff0c;如何在JBoss AS 7中将Bean验证与JAX-RS结合使用的方法。 后来&#xff0c;在一篇为《 JAX Magazine …

EventUtil.addHandler方法

EventUtil.addHandler&#xff1a;addHandler 方法&#xff0c;职责是分别视情况而定来使用DOM0级方法、DOM2级方法或IE方法来添加事件。 这个方法属于一个名字叫EventUtil的对象&#xff0c;可以使用这个对象来处理浏览器间的差异。     addHandler() 方法…

Linux scp 指令

scp指令可从远程服务器下载文件或上传文件至远程服务器(适用于: mac没安装ftp软件临时使用) 上传: scp 本地文件路径 rootIP:远程路径 例: scp /Users/xxx/Downloads/email.png rootxxx.xxx.xxx.xx:/root/img 下载:scp rootxxx.xxx.xxx.xx:/root/img/email.png /Users/xxx/Down…

mysql游标遍历数据库_MySQL数据库中,使用游标循环遍历_MySQL

/*对*dt库下的所有数据表删除docuemttype为空和documenttype为MD,PD,ET的数据&#xff1a;delete from 表名 where length(documenttype)<2 or documenttype is null or documenttype in (et,md,pd);*/DELIMITER $$USE 数据库名称1$$DROP PROCEDURE IF EXISTS 存储过程名称1…

RN启动报错,环境相关问题

启动RN的时候刚开始报错&#xff1a; The request was denied by service delegate (SBMainWorkspace) for reason: Security ("Entitlement "com.apple.frontboard.debugapplications" required to launch applications for debugging"). 查询网络上的解决…

在Spring MVC Web应用程序中添加社交登录:集成测试

我已经写了关于为使用Spring Social 1.1.0的应用程序编写单元测试的挑战&#xff0c;并为此提供了一种解决方案 。 尽管单元测试很有价值&#xff0c;但是它并不能真正告诉我们我们的应用程序是否正常运行。 这就是为什么我们必须为此编写集成测试的原因 。 这篇博客文章可以…

js基本包装类型和引用类型

回顾 1.什么是基本类型&#xff1f; 共5个。boolean,string,number,null,undefined. 2.什么是引用类型&#xff1f; 引用类型的值是对象&#xff0c;保存在堆内存中&#xff1b; 引用类型的变量实际上是一个指针&#xff0c;它保存在栈中&#xff0c;指向堆内存中的对象&am…

mysql数据库套件_MySQL数据库管理开发套件(EMS SQL Management Studio For MySQL)下载 v1.3.0.46170 官方版 - 比克尔下载...

EMS SQL Management Studio For MySQL是一个强大的MySQL数据库管理和开发套件&#xff0c;由很多工具组成&#xff0c;涉及MySQL数据库管理、导入、导出、迁移、测试、备份、比较、同步等数据库管理和开发中需要的绝大部分功能&#xff0c;为开发人员提供了一个MySQL数据库管理…

异步和多线程

异步是目的&#xff0c;而多线程是实现这个目的的方法。 异步&#xff08;目的&#xff09;&#xff1a;由系统决定何时&#xff0c;如何去执行&#xff0c;非阻塞的&#xff0c;执行后回调。 CPU可以从线程池中获取一个线程资源&#xff0c;执行操作&#xff0c;并在执行完成后…

vue.config.js配置别名alias、配置生产环境清除console

项目中使用引入文件有时候路径比较深&#xff0c;需要使用"../../../xx.js"这种类似的路劲引入&#xff0c;这种方式比较笨&#xff0c;可以使用webpack的别名alias配置来解决。 首先&#xff0c;先确定项目中是否有path模块&#xff1a; 如果没有path模块需要先安装…

借助Java 8和lambdas,可以一起使用AssertJ和Awaitility

AssertJ和Awaitility是在自动代码测试中使用的两个我最喜欢的工具。 不幸的是直到最近&#xff0c;还不能一起使用它。 但是随后Java 8进入了游戏&#xff0c;几十行代码足以使其在Awaility 1.6.0中实现。 AssertJ提供了一组丰富的断言&#xff0c;其中包含非常有用的错误消息…

小程序-冒泡事件

小程序冒泡事件与非冒泡事件 会随之触发父元素的称为冒泡事件&#xff0c;反之&#xff0c;则是非冒泡事件 wxml&#xff1a; <view class"view1" bindtap"view1click"> <!-- 用 bind 绑定事件 -->view1<view class"view2" bin…