执行gulp 任务

gulp taskname (default任务不输入名称亦可:gulp)

var gulp = require("gulp");
gulp.task("a",function(){
console.log("aaa");
});

gulp 前置任务

gulp.task(当前任务,["前置任务"],回调函数)

var gulp = require("gulp");
gulp.task("a",function(){
console.log("aaa");
});
gulp.task("aftera",["a"],function(){
console.log("after a");
});

gulp src pipe dest 读写文件

  • src:读取,gulp.src(globs),globs是筛选条件,可以是字符串和数组,[patha,pathb...]:读取多个文件
  • pipe:管道,a.pipe(b):将a写入到b中
  • dest:写入,gulp.dest(path):将文件写入到指定路径

gulp.src(globs).pipe(gulp.dest(path)):读取文件并写入到指定路径

示例:读取src目录下下的所有js文件,写入到dist目录下

var gulp = require("gulp");
gulp.task("dofile", function () {
gulp.src("./src/**/*.js")
.pipe(gulp.dest("./dist"));
});

gulp watch 监控

watch方法用于监视文件变化

gulp.watch(url,fn(event){}),
gulp.watch([url1,url2...],fn(event){})

gulp.task("watchfile",function(){
gulp.watch('./src/js/test.js',function(event){
console.log(event.type);//added deleted changed
console.log(event.path);
});
});

gulp插件:

gulp uglify 压缩文件插件

ugligy:压缩文件,可以将文件中的空格删除

下载插件:npm i gulp-uglify --save -dev

var gulp = require("gulp");
var uglify = require("gulp-uglify");
gulp.task("douglify",function(){
gulp.src("./src/js/a.js")
.pipe(uglify())
.pipe(gulp.dest('./uglify'));
});

压缩前与压缩后效果:

gulp rename 重命名

下载插件:npm i gulp-rename --save -dev

gulp.rename(string)

读取文件,压缩并重命名写入另一个目录:

var gulp = require("gulp");
var uglify = require("gulp-uglify");
var rename = require("gulp-rename");
gulp.task("renamefile",function(){
gulp.src("./src/js/test.js")
.pipe(uglify())
.pipe(rename("updateName.js"))
.pipe(gulp.dest("./rename"));
});

gulp-minify-css 压缩css文件

下载插件:npm i gulp-minify-css --save -dev

将css文件压缩,可不写参数,在管道流中操作

var gulp = require("gulp");
var cssminify = require("gulp-minify-css");
gulp.task("minicss", function () {
gulp.src("./src/css/*.css")
.pipe(cssminify())
.pipe(gulp.dest("./src/css/mini"));
})

gulp-minify-html 压缩html文件

下载插件:npm i gulp-minify-html --save -dev

在管道流中操作

var gulp = require("gulp");
var HTMLminify = require("gulp-minify-html");
gulp.task("htmlminify",function(){
gulp.src("./src/html/*.*")
.pipe(HTMLminify())
.pipe(gulp.dest("./src/html/minify"));
});

gulp-concat 合并文件

下载插件:npm i gulp-concat --save -dev

concat(filename)

var gulp = require("gulp");
var concat = require("gulp-concat");
gulp.task("concatfile",()=>{
gulp.src("./src/js/*.js")
.pipe(concat('all.js'))
.pipe(gulp.dest('./src/js/concat'));
});

gulp-sass 解析sass

下载插件:npm i gulp-sass --save -dev

sass():在管道流中操作,将sass解析成css

var gulp = require("gulp");
var sass = require("gulp-sass");
gulp.task("sassfile",()=>{
gulp.src("./src/sass/c.scss")
.pipe(sass())
.pipe(gulp.dest("./src/sass"));
});

gulp-imagemin 压缩图片

下载插件:npm i gulp-imagemin --save -dev

var gulp = require("gulp");
var imagemin = require("gulp-imagemin");
gulp.task("imgmin",()=>{
gulp.src("./src/images/*.*")
.pipe(imagemin())
.pipe(gulp.dest('./src/images/min'));
});

自动加载插件:

  • npm install --save-dev gulp-load-plugins

gulp 常用方法 任务 插件的更多相关文章

  1. 前端构建之gulp与常用插件

    gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具grunt相比,有什么优势呢? 易于使用,代码优于配置 高效,不会产生过多的中间文件,减少I/O压力 易于学习 ...

  2. gulp自动刷新插件

    gulp自动刷新的插件很多,但是感觉最好用的还是 browser-sync 插件.如果不想用命令行,也可以使用 browser-sync界面工具 先安装 browser-sync 插件: npm in ...

  3. gulp如何自定义插件

    gulp是基于”流“的构建工具,上层流的输出就是下层流的输入,为了更好的支持链式操作,可以使用through2或者map-stream这两个库来对node stream做一层包装 这里,我们就使用th ...

  4. 前端构建之gulp与常用插件(转载)

    原博主:幻天芒 原文地址:http://www.cnblogs.com/humin/p/4337442.html gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建 ...

  5. 前端自动化Gulp工具常用插件

    npm init命令初始化当前文件夹后,在当前文件夹新建gulpfile.js文件.当前目录下的所有操作流都在gulpfile.js文件中定义. gulp自动化 gulp-uglify (JS压缩) ...

  6. Gulp工具常用插件

    gulp-uglify(js压缩) gulp-uglify安装 // npm install --save-dev gulp-uglify 已过时 npm install --save-dev jsh ...

  7. gulp的常用插件

    gulp和webpack的差别:https://www.cnblogs.com/lovesong/p/6413546.html var gulp = require('gulp'); var del ...

  8. gulp常用的插件

    参考地址: http://www.cnblogs.com/1wen/p/5421212.html https://my.oschina.net/wolfx/blog/673905 http://www ...

  9. gulp常用方法

    var gulp = require('gulp'); var concat = require('gulp-concat'); //使用gulp-concat合并文件,减少网络请求(静态资源数量): ...

随机推荐

  1. SQL Server 疑难杂症--转换科学计数法的数值字符串为decimal类型

    今天在操作数据库时,需要将字符串转换成Decimal类型.代码如下: select cast('0.12' as decimal(18,2)); select convert(decimal(18,2 ...

  2. 【C语言】猴子吃桃问题

    题目: 猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个: 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了. ...

  3. 机器学习作业(三)多类别分类与神经网络——Python(numpy)实现

    题目太长了!下载地址[传送门] 第1题 简述:识别图片上的数字. import numpy as np import scipy.io as scio import matplotlib.pyplot ...

  4. 【Unity|C#】基础篇(5)——分部类与分部函数(partial)

    [学习资料] <C#图解教程>(第6章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.c ...

  5. 测试并整理的 Airpods Pro 刻字可用的最全特殊符号

    天气符号 ☉ 文化符号 卍卐 办公室符号 № ℗ ℡ ℀ ℅ ™ © ® ‰ ¶ § 技术符号 ⇧  打勾符号 ˇ ∨ √ 人的符号 ♀ ♂ ヅ ツ ü 星星符号 ☆ ★ ✽ 箭头符号 ↖ ↗ ↘ ...

  6. oracle 数据库手动备份和恢复

    一.备份命令: 1.cmd  : exp 2.cmd  :用户名/密码@ip地址/数据库名  如:     yyj/yyj@172.12.5.5/orcl    要导出的数据库 3.回车:输入要输出的 ...

  7. K-NN graph

    tasks: 1. unsupervised knn https://scikit-learn.org/stable/modules/neighbors.html#unsupervised-neigh ...

  8. TCP/IP详解,卷1:协议--ARP:地址解析协议

    引言 本章我们要讨论的问题是只对 T C P / I P 协议簇有意义的 I P 地址.数据链路如以太网或令牌 环网都有自己的寻址机制(常常为 48 bit 地址),这是使用数据链路的任何网络层都必须 ...

  9. #! /usr/bin node 和#! /usr/bin/env node两者的区别

    是Unix和Linux脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它 !/usr/bin/node是告诉操作系统执行这个脚本的时候,调用/usr/bin下的node ...

  10. C++-POJ2352-Stars[数据结构][树状数组]

    /* 虽然题目没说,但是读入有以下特点 由于,输入是按照按照y递增,如果y相同则x递增的顺序给出的 所以,可以利用入读的时间进行降为处理 */ 于是我们就得到了一个一维的树状数组解法啦 值得一提:坐标 ...