美文网首页
模板引擎-jade模板库-1

模板引擎-jade模板库-1

作者: 子心_ | 来源:发表于2019-06-12 20:23 被阅读0次

模板引擎:

  • jade-破坏式、侵入式、强依赖
  • ejs-温和、非侵入式、弱依赖性
  • 模板引擎:生成页面

1. jade模板库

配置安装:

cnpm install jade

在jade文件中缩进代表层级
新建.js文件,在里面引入.jade文件:

const jade = require('jade');
var str = jade.renderFile('./views/1.jade',{pretty: true});
console.log(str);

pretty属性是用来美化格式的

2. jade基本语法

    1. 根据缩进,规定层级

    2. 属性放在()里面,有多个属性的话用逗号分隔

    3. 内容空个格,直接往后堆

3. 属性:在js文件中属性的写法:

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

在jade文件中的写法:

script(src="a.js")

例如在2.jade文件中写入:

html
  head
    style
    script(src="a.js")
    link(href="a.css",rel="stylesheet")
  body
    div
      ul
        li
          input(type="text",id="txt1",value="abc")
        li
          input(type="text",id="txt2",value="111")
        li
          input(type="text", id="txt3",value="222")
    div

新建jade.js文件,写入内容:

const jade = require('jade');
var str = jade.renderFile('./views/2.jade',{pretty: true});
console.log(str);

通过执行jade.js文件得到:

<head>
  <style></style>
  <script src="a.js"></script>
  <link href="a.css" rel="stylesheet"/>
</head>
<body>
  <div>
    <ul>
      <li>
        <input type="text" id="txt1" value="abc">
      </li>
      <li>
        <input type="text" id="txt2" value="111">
       </li>
       <li>
        <input type="text" id="txt3" value="222">
       </li>
    </ul>
  </div>
  <div></div>
</body>

我们也可以将模板文件编译后导入指定的文件中:
在js文件中可以这样写:

const jade = require('jade');
const fs = require('fs');
var str = jade.renderFile('./views/2.jade,{pretty:true}');
//将编译完的文件写入build目录下的2.html中
fs.writeFile('./build/2.html', str, function(err){
    if(err)
        console.log('写入失败');
    else
        console.log('写入成功');
});

4. 内容:在模板中插入内容只需要空一格+内容即可

例如在.jade文件中写入:

html
  head
    style
    script alert("aaa");
  body
    a(href="http://www.baidu.com") 百度
    a(href="http://www.sina.com") 新浪

经过编译后得到:

<html>
  <head>
    <style></style>
    <script>alert("abc");<script>
  </head>
  <body><a href="http://www.baidu.com">百度</a><a href="http://www.sina.com">新浪</a>
</html>

这时候心里犯嘀咕了,不是说好的美化格式么?咋a标签都不个我换行呢?jade就说了老兄,a标签是行内元素啊,换行可能产生意料之外的空格!

<font color=red>注意:</font> style属性和class属性比较特殊。
 style属性有两种写法:1. 普通属性写法 2. 用json

div(style="width:200px;height:200px;background:red")
div(style={width:'200px',height:'200px',background:'red'})

 class属性有两种写法:1. 普通属性写法 2. 用数组

div(class="left active move")
div(class=['left','active','move'])

5. 缩写

div.box
div#div1

jade的两个方法
jade.render('字符串');
jade.renderFile('模板文件名',参数);

相关文章

  • 模板引擎-jade模板库-1

    模板引擎: jade-破坏式、侵入式、强依赖 ejs-温和、非侵入式、弱依赖性 模板引擎:生成页面 1. jade...

  • Jade学习目录

    第一章 Jade模板引擎课程简介 1-1模板引擎1-2流行的模板1-3课程须1-4Jade环境配置1-5Jade特...

  • 模板引擎

    1.模板引擎:模板引擎编译成html,静态js,css; jade与pug同名 2.如何使用jade解析字符串: ...

  • Jade

    Jade - 模板引擎 Jade 是一个高性能的模板引擎,它深受 Haml 影响,它是用 JavaScript 实...

  • 2018-12-05 jade

    1jade(模板引擎)使用jade解析字符串下载jade(命令:cnpm install jade/npm ins...

  • 模板引擎-jade模板库-2

    jade模板库2(高级语法、简单实例) 1. jade能自动识别单标签2. 4种让内容原样输出的方式* 元素与内容...

  • Jade 前端模板学习总结

    第一章 Jade模板引擎课程简介 1-1模板引擎: 将动静部分糅合的一种机制或者技术 1-2流行的模板 PHP:S...

  • ✍2019-06-14 关于express

    一、安装express 框架 二、结构 三、配置模板引擎 还别的模板引擎:jade,pug,ejs HTTP的请求...

  • Express系列(八)

    express之模版引擎jade 一、什么是jade? jade模板引擎相较于原来的html会显得更加简洁,它将标...

  • NodeJS 模板引擎 ejs&jade

    模板引擎其实就是渲染页面用的,主流的主要有jade和ejs;jade是一个破坏式的模板引擎,侵入式、强依赖;如果用...

网友评论

      本文标题:模板引擎-jade模板库-1

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