nodeJS的主流模板----jade和ejs的使用
来源:互联网 发布:mac看nba直播 编辑:程序博客网 时间:2024/05/17 02:11
- 模板引擎:渲染页面的。变动的数据,生成页面.在nodeJS中,主流的是jade和ejs.
我们先介绍一下jade模板,带有破坏式,强依赖的.
语法:缩进来代表层级.带有render()和renderFile(模板文件名,参数)的渲染选项.
属性的解析,属性放在()里面。逗号来分割。
script(src="a.js")解析后为:<script src="a.js"></script>多个属性,逗号分隔即可.link(href="a.css", rel="stylesheet")解析后为:<link href="a.css" rel="stylesheet" >特殊的属性:style="width:100px;height:100px;"class="aaa bbb"这些怎么解析呢?首先先看style类:div (style="width:100px;height:100px") //普通属性div(style={width:"100px",height:"100px"})//json格式上面的两种方式都可以。编译后为:<div style="width:100px;height:100px;"></div>对于class类:div(class="aaa bbb ccc") //普通格式div(class=["aaa","bbb","ccc"]) //数组格式解析后为:<div class="aaa bbb ccc"></div>
内容的解析:空格间隔内容
a(href="www.baidu.com") 百度一下解析为:<a href="www.baidu.com">百度一下</a>
多个内容的嵌套
div 你好 span 世界 解析为: <div> 你好 <span>世界</span> </div>
简写模式:div.box 解析为:
;同理#box就是id=”box”;div(title="aaa",id="div1")div&attributes({title:"aaa",id:"div1"})//可以使用json格式解析后为:<div title="aaa" id="div1"></div>
在深入的讲一下:jade
[x] 比较智能,可以自动识别单双标签(所有自定义的标签都是双标签)
div input解析为:<div> <input /></div>
原样子输出的符号 |
script | window.onload =function(){ | var box =123; | }; 解析后为: <script> window.onload =function(){ var box =123; } </script> 更方便的方法: script. //加一个点号,所有的下一级内容都是原样输出 window.onload =function(){ var box =123; }; 另一种方法:通过引入方式来 include a.js //引入a.js文件
变量的使用:#{},在模板中传入变量的值xxx,变量中也可以进行运算#{a+b}等等.当然我们所说的变量也可以从数据库获取过来。这样就可以生成变动的内容。
div 我的名字:#{name} 解析后为: <div>我的名字:xxx</div>
jade内部可以自己定义变量和进行计算
body -var a =12; //-代表我是一段代码,不会输出 -var b =5; div 结果为#{a+b}解析后为:<body> <div>结果为17</div></body>
循环的使用:变量为:arr:[“aaa”,”bbb”,”ccc”];
-for(var i=0;i<arr.lenth;i++) div=arr[i]解析后为:<div>aaa</div><div>bbb</div><div>ccc</div>
选择语句的输出:
-var a = 12;-if(a%2==0) div 偶数-else div 奇数输出为:<div>偶数</>
switch语句:
-var a =3;case a when 0 div aaa when 1 div bbb when 3 div ccc defult div ddd解析后为:<div>ccc</div>
- html标签的输出:!标签原样输出。不转义。
- 接下来我们讲解ejs模板的使用,实际的工作中,我公司还是使用的ejs的,所以我来介绍ejs模板的知识
esj 非侵入式,非破坏式的
输出方式:
- <%= name%> 输出变量
还可以输出各种数据:
数据:{json:{arr:[ {user:"zhangsan",pass:123}, {user:"zhangsan1",pass:1234}, {user:"zhangsan2",pass:12356},]}}<% for(var i=0;i<json.arr.length;i++){%> <div> 我的名字叫:<%= json.arr[i].user %></div><%}%>编译后为: <div> 我的名字叫:zhangsan</div> <div> 我的名字叫:zhangsan1</div> <div> 我的名字叫:zhangsan2</div>
输出html模板字符:
<% var str="<div>1111</div>" %> <%-str%> 编译后为: <div>1111</div>
- include:例如:<% include a.text %> 根据对应的目录查找文件。不能写变量。
ejs很多语法和JavaScript原始一样。所以相对来说用的还是很平滑,没有那么学习曲线陡峭。
阅读全文
0 0
- nodeJS的主流模板----jade和ejs的使用
- nodejs使用express创建ejs变成jade的解决办法!
- nodejs的模板引擎jade
- Nodejs + express + ejs, jade
- (7)nodejs学习---之模板引擎jade&&ejs
- nodejs express模版引擎ejs的使用
- nodejs-新建项目及Error:Connot find module 'jade'或者‘ejs’ .......错误的解决方法
- [前端] nodejs之express框架和ejs模板引擎的入门
- Nodejs express框架之jade模板的学习笔记
- nodejs+express生成的模板引擎jade改为html
- express中ejs模板的基本使用
- jade模板之三,注释的使用
- nodejs 模板 ejs helloworld
- NodeJS 模板 -- jade
- Node.js 有关模版引擎ejs和jade的结合(非express)
- nodejs express template (模版)的使用 (ejs + express)
- nodejs express template (模版)的使用 (ejs + express)
- LIUNX-NODEJS环境的配置和开发 express npm jade
- 数据库相关
- NLP+句法结构(三)︱中文句法结构(CIPS2016、依存句法、文法)
- 题目
- VMware虚拟机安装
- 大话设计模式----观察者模式
- nodeJS的主流模板----jade和ejs的使用
- spring与jdbc配置搭配
- CodeForces 891 简要题解
- TheDAO周年祭--攻击事件回顾及区块链固有安全性分析
- POJ 3126 Prime Path
- HashCode和equals的面试问题
- 我安装archlinux的过程总结
- Ubuntu16.04 和Windows远程桌面
- 最大子列和(算法复杂度优化)