模板引擎

模板引擎

作用:生成页面


jade - 破坏式,侵入式,强依赖·

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

语法

  • 根据缩进规定层级
  • 属性放在括号里面,用逗号隔开
script(src='');
a(href='XXX') 链接
  • 内容空个格
div aaa
      span bbb
  • style属性比较特殊,可以用json
    div(style="width:200px; height:200px; background:red;")
    div(style= {width: '200px', height: '200px', background: 'red'})

  • class属性比较特殊,可以用数组
div(class= ['aaa', 'left-warp', 'active'])
  • |.代表原样输出
body
    |abc
//<body>abc</body>
  • include 引入外部文件并原样输出
include a.js
  • 用变量改变标签属性
const jade=require('jade');

console.log(jade.renderFile('./views/8.jade', {pretty: true,
  json: {width: '200px', height: '200px', background: 'red'},
  arr: ['aaa', 'left-wrap']     //class属性可以和数组里的自动合并
}));
//./views/8.jade
div(style=json);
div(class=arr class='active');
  • 输出变量时# == =
    span #{a}
    span=a 
  • '-'表示代码,不进行输出
  -var a=12;
    -var b=5;
    div 结果是:#{a+b}
    /*  <html>
        <head></head>
        <body>
            <div>结果是:17</div>
        </body>
        </html>*/
  • 简写
div#id      //<div id='id'></div>
div.class   //<div class='class></div>
div&attributes({title:'aaa',id:'div1'})
  • for循环
  • 非转义输出html标签(不用转义字符)
div!=content
  • if
  • switch case用法相同但变成case when
 -var a=1;
    case a
      when 0
        div aaa
      when 1
        div bbb
      when 2
        div ccc
      default
        |不靠谱


ejs - 温和式,非侵入式,弱依赖

const ejs=require('ejs');

ejs.renderFile('./views/1.ejs', {name: 'blue'}, function (err, data){
  if(err)
    console.log('编译失败');
  else
    console.log(data);
});

    我的名字叫:<%= name %>
//我的名字叫:blue

  • 输出
<%= name %>
<%= json.arr[0].name %>
<%= 12+5 %>
<%= 'asdfasdf' %>
  • 所有原生js有的都可以用
  • 非转义输出html标签(不用转义字符)
<%
var str = "<div></div>"
%>
<%=str%> //&lt;div&gt;&lt;/div&gt;
<%-str%> //<div></div>
  • include
<% include ../a.txt %>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值