gulp基本使用

gulp 使用方法 :
1、在项目下打开 命令行
2、运行 gulp 命令 , 会有提示No gulpfile found
3、在项目根目录下创建一个文件 gulpfile.js
4、再次运行 gulp 命令 , 会有提示 :
Task 'default' is not in your gulpfile
说明运行gulp命令时,会自动查找gulpfile中的 default 任务

5、布置任务 default 任务
先引入gulp模块 使用require()方法引入
例如 : var g = require("gulp");
使用 task()方法布置任务 有三个参数
第一个参数 : 任务名称
第二个参数 : 依赖的其它任务 (可以省略) 是一个数组
第三个参数 : 回调函数

布置好default任务后,再次运行gulp命令,会自动输出 default任务

也可以布置自定义任务 ,比如布置一个 say 任务 , 可以使用 gulp say 执行该任务

如果一次执行多个任务,可以在task的第二个参数上 通过一个数组指定

6、其它方法
src() 获取源文件路径
参数 : 可以是一个字符串 或 一个数组

dest() 获取目标文件的路径
参数 : 是一个字符串 该方法可以自动生成目录

pipe() 管道方法 表示 下一步


watch() 监听方法

//watch 方法 监听方法
//参数一 :监听文件的路径
//参数二 : 某个任务 是一个数组

//引入  gulp 模块化  
var gulp = require("gulp");

//引入插件
var sass = require("gulp-sass");//将sass文件转成css  
var concat = require("gulp-concat");//合并文件   提供参数
var cssmin = require("gulp-cssmin");//压缩css
var imgmin = require("gulp-imagemin");//压缩图片
var rename = require("gulp-rename");//重命名  提供参数
var uglify = require("gulp-uglify");//压缩js文件

//压缩图片 压缩images目录下的所有图片 并生成到img目录下
gulp.task( "imgmin" , function(){
    return gulp.src("images/*")
               .pipe( imgmin() )
               .pipe( gulp.dest( "img" ) );
} )    


//将src目录下的所有js文件合并  合并后压缩  并重命名
gulp.task( "concat" , function(){
    return gulp.src( "src/*.js" )
               .pipe( concat( "all.js" ) )
               .pipe( uglify() )
               .pipe( rename("all.min.js") )
               .pipe( gulp.dest("src") );
} )

//布置任务  将src目录下的sport5.js文件 压缩 并重命名 sport.min.js  最后输送到 dest的js目录下
gulp.task( "uglify" , function(){
    return gulp.src("src/sport5.js")
               .pipe( uglify() )
               .pipe( rename("sport.min.js") )
               .pipe( gulp.dest( "dest/js" ) )
} )
//布置任务  将css目录下的index.scss文件转成 css文件   生成到css目录下
gulp.task( "sass" ,function(){
    return gulp.src( "css/index.scss" )
               .pipe( sass() )
               .pipe( gulp.dest("css") );
} )    

//压缩css目录下的css文件  并重命名 index.min.css
gulp.task( "rename" , function(){
    return gulp.src("css/index.css")
               .pipe( cssmin() )
               .pipe( rename("index.min.css") )
               .pipe( gulp.dest("css") )
})    

//布置任务  使用task方法
//default 任务
gulp.task("default",function(){
    console.log("default任务执行");
})


//布置一个say任务  
gulp.task( "say" , function(){
    console.log("say任务执行");
} )


//布置一个dance任务
gulp.task( "dance" ,["say","default"], function(){
    console.log( "dance任务执行" );
} )

//布置任务
// 将src目录中的index.html文件 复制到 dest目录下
gulp.task( "copyHtml" , function(){
    return gulp.src("src/index.html")
               .pipe( gulp.dest("dest/html") );
} )


//将src下面的所有js文件和css文件 复制到 dest目录中的lib目录下
gulp.task( "copyJs" , function(){
    return gulp.src( [ "src/*.js" , "src/*.css" ] )
               .pipe( gulp.dest( "dest/lib" ) );
} )


//将src下 的所有文件(除了js文件)复制到dest目录下面的all目录中   
//  src/*  表示src下面的所有文件
//  src/**/* 表示src下面的所有目录和目录下的所有文件
// !src/*.js  除了 src下面的所有js文件
gulp.task( "copyCss" , function(){
    return gulp.src( ["src/*","!src/*.js"] )
               .pipe( gulp.dest( "dest/all" ) );
} )


//watch 方法  监听方法
//参数一 :监听文件的路径
//参数二 : 某个任务   是一个数组
//布置任务,功能 监听src下面的index.html内容变化,
//如果内容发生变化,就将index.html复制到dest的html目录中
gulp.task( "watchHtml",function(){
    return gulp.watch( "src/index.html" , ["copyHtml"] );
} )
原文地址:https://www.cnblogs.com/cqdd/p/10409523.html