jade是一款基于haml的html模板引擎,已改为pug

1.全局安装 npm install jade -g

新建一个jade文件夹,再建一个后缀名为.jade的文件
编辑.jade文件

jade -P -w index.jade 在文件夹jade下监听文件变化,即生成html

index.jade文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
doctype html
html
head
meta(charset='utf-8')
title 我的网站
body
div
|hehe
a: img(src='#')
div(style={width:"100px",height:"100px"})
测试 div
div(class='test') 我是类名位test的div
.test 我是类名位test的div
#myid 我是id名为myid的div
.myclass#myids 我是有id也有class的div
-var name='张三'
div
名字是#{name}
// 我是注释
//
我是注释一
我是注释二
//- 我是jade注释
//-
我是jade注释一
我是jade注释二
ul
-for(var i=0;i<3;i++)
li 我是循环的li
-var arr = ["小明","小宏","夏培"]
for val in arr
p #{val}
-var arr = [{name:"小华",age:"20"},{name:"李欣",age:"10"}]
for val in arr
p 姓名是 #{val.name} 年龄是 #{val.age}
-var obj = {name:"皇妃",age:"25"}
for item,index in obj
p 属性是 #{index} 属性值是 #{item}
-var judge = true
if judge
p judge的值是true
else
p judge的值是false
-var num = 3
case num
when 1
p #{num}的值等于1
when 2
p #{num}的值等于2
when 3
p #{num}的值等于3
大专栏  jsde与gulp使用说明"line"> default
p #{num}是其他值
//- js写法
script(type='text/javascript').
console.log("你好")
function test(){
console.log("我是test函数")
}
//- 封装函数
mixin list
ul
-for(var i=0;i<3;i++)
li 我是li里地内容
//- 调用封装函数
+list
+list
//- 定义宠物的html
mixin pet(name,sex)
p 宠物的名字是 #{name}宠物的性别是 #{sex}
//- 传参调用
+pet("大黄","母")
+pet("小强","公")

jade基本语法:

1.通过缩进关系,代替以往html的层级包含关系,如 个简单的静态 可以表达为,注意要统一使用tab或者空格缩进,不要混用

2.内联书写层级,a: img

3.style属性:div(style={width:”200px”,color:”red”})

4.使用”-”来定义变量,使用“=”把变量输出到元素内;

5.通过 #{variable} 插 相应的变 值

6.html 元素属性通过在标签右边通过括号包含(可以通过判断来添加)

7.文本
通过在 字前 添加竖线符号“|”可让 jade 原样输出内容 在html标签标记后 通过空格隔开 本内容 在html标签标记后通过添加英 号“.”添加块级 本

8.注释:可以通过双斜杠进 注释

9.循环

10.判断语句”if else” case when default

11.mixin封装函数以及调用

12.js写法、css写法

gulp使用

gulp 是基于node实现Web前端自动化开发的工具,它能够极大的提高开发效率。gulp还可以做很多事

  1. 压缩CSS
  2. 压缩图
  3. 编译Sass/LESS
  4. 编译CoffeeScript
  5. markdown 转换为 html
    6.压缩合并js

使用gulp来压缩js

1.在jade同级建立gulp文件夹,再建立gulpfile.js配置文件

2.在gulp路径下安装gulp

sudo npm install gulp

3.获取到压缩的js的模块gulp-uglify和压缩css的模块gulp-minify-css

npm install gulp-uglify –save

npm install gulp-minify-css –save

这样我们gulp文件夹里地package.json配置文件里就会有者两个模块

4.在gulpfile.js里面引入gulp模块

5.在gulpfile.js里面创建压缩任务:下面我们创建两个压缩任务:js和css

创建压缩任务:gulp.task(name, fn) - 定义任务,第一个参数是任务名,第二个参数是任务 内容。
gulp.src(path) - 选择文件,传入参数是文件路径。
gulp.dest(path) - 输出文件
gulp.pipe() - 管道,你可以暂时将 pipe 理解为将操作加入执行队列

6.监听文件修改:

监听文件修改:gulp.task(‘auto’, function () {
// 监听文件修改,当文件被修改则执行 script 任务 gulp.watch(‘js/*.js’, [‘script’])
})

7.终端进入gulp路径下,输入命令:

gulp mytask

gulp auto

就能实时监控app文件夹下的js文件和css文件,当文件内容有变化时,会自动在build文件夹下生成压缩后的文件

jsde与gulp使用说明的更多相关文章

  1. 自动化构建工具gulp

    1.优点 1.1 易于使用 通过代码优于配置的策略,gulp让简单的任务简单,复杂的任务可管理 1.2 构建快速 利用node.js流的威力,你可以快速构建项目并减少频繁的IO操作 1.3 插件高质 ...

  2. 01 nodejs MVC gulp 项目搭建

    文本内容 使用generator-express创建nodejs MVC DEMO 使用gulp实时编译项目 npm安装二进制包,无须再编译wget https://nodejs.org/dist/v ...

  3. gulp配置文件备份

    /** * Created by leyi on 2016/8/25 0025. */ /*********************package.json依赖模块****************** ...

  4. gulp环境搭建,gulp入门教程

    gulp常用地址: gulp官方网址:http://gulpjs.com gulp插件地址:http://gulpjs.com/plugins gulp 官方API:https://github.co ...

  5. gulp使用2-gulp-less及watch和错误提示

    gulpfile.js /** * Created by Administrator on 2017/4/4 0004. */ const gulp = require('gulp'), less = ...

  6. 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)

    通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...

  7. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  8. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  9. 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二)

    前言 文章 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 中,已经完成对 gulp 的安装,由于是window环境,文中特意提到了可以通过安装 gitbash 来代替 ...

随机推荐

  1. python 拆解包

    Python 拆解包 转自:https://www.jianshu.com/p/22c538a58bcc python中的解包可以这样理解:一个list是一个整体,想把list中每个元素当成一个个个体 ...

  2. Qt OpenCV 在界面显示图片 通过Lable方式 和GraphicsView 方式

    1. 通过lable方式打开图片. 代码如下: void MainWindow::on_pushButton_clicked() { Mat srcImage,gray_image,srcImage1 ...

  3. mysql统计指定数据库的各表的条数

    mysql统计指定数据库的各表的条数 SELECT table_schema,table_name,table_rows,CREATE_TIME FROM TABLES WHERE TABLE_SCH ...

  4. top 命令中的VIRT,RES,SHR ,MEM区别

    VIRT 表示进程的虚拟(地址)空间大小,其包含进程实际使用的大小(申请的堆栈), 使用mmap映射的大小,包括外设RAM, 还有映射到本进程的文件(例如动态库),还有进程间的共享内存.所以VIRT ...

  5. Java统计内存

    在目标代码前放置 Runtime r = Runtime.getRuntime(); r.gc(); long startMem = r.freeMemory(); // 开始时的剩余内存 目标代码执 ...

  6. 用户界面编程模式 MVC MVP MVVM

    用户界面编程模式 MVC MVP MVVM 程序 = 数据 + 算法 数据:就是待处理的东西 算法:就是代码 涉及到人机交互的程序,不可避免涉及到界面和界面上显示的数据原始方式是界面代码和逻辑代码糅合 ...

  7. IMX6开发板Qtopia2.2.0开发环境搭建以及编译镜像

    搭建 Qtopia2.2.0 开发环境,需要先搭建 Android 的编译环境,然后在 Android 编译环境的基础上,再搭建 Qtopia2.2.0 编译环境.以下内容基于迅为-iMX6开发板.Q ...

  8. [LC] 90. Subsets II

    Given a collection of integers that might contain duplicates, nums, return all possible subsets (the ...

  9. 68.26-95.44-99.74 rule|empirical rule

    6.3 Working with Normally Distributed Variables As illustrated in the previous example, the 68.26-95 ...

  10. Oracle中的 timestamp 和 timestamp with time zone, timestamp with local time zone

    SQL> select dbtimezone, sessiontimezone from dual; DBTIME ------ SESSIONTIMEZONE ---------------- ...