@FarmerZ
2016-06-22T11:16:17.000000Z
字数 5041
阅读 549
gulp
task
npm
install
package
npm install -g gulp
guop --help
:显示帮助信息cd desktop
到桌面md cdd-gulp
创建一个文件夹npm init
初始化npmnpm install gulp --save-dev
npm install
命令便可下载到所有需要的文件。require("");
方法导入要使用的模块,并创建其对象 eg: var gule = gulp('gulp')};</li>
<li>2.使用task方法创建要执行的任务
syntax: gulp.task('tastName',function(){});
eg: gulp.task('hellw,function(){
console.log("您好")};);
syntax: gulp.task('taskName',['otherTaskName1','otherTaskName2',...])
eg: gulp hello
按回车便开始执行gulp.src()
.pipe()
处理文件,在其中可以使用gulp的插件来处理读取出来的文件.pipe(gulp.dest())
把处理好的文件放到指定的地方javaScript
var gulp = require('gulp');//创建gulp对象
gulp.task('copy-index',function(){//创建task
return gulp.src('index.html').pipe(gulp.dest("dist"));//使用src方法读取文件,然后放入管道,在使用gulp的dest方法把其放置到一个新建的文件夹中,完成复制。
});
`gulp`
var gulp = require('gulp');
gulp.task('copy-index',function(){
return gulp.src('index.html').pipe(gulp.dest("dist"));
});
gulp.task('images',function(){
return gulp.src('images/*.jpg').pipe(gulp.dest('dist/images'));//整个’images/*.jpg‘写法称作glob,通配符‘*’表示大量匹配,整个glob的意思是,匹配在images文件夹中以.jpg结尾的文件。
});
eg: guli.src({fileNmae1,fileName2})
images/*
,但是此时不包含icons文件夹中的文件,如果想要包含其中的文件可以使用images/*/*
;如果不在乎级别想要整个复制目标文件夹中的所有东西可以使用images/**/*
方法。即使用两个星号表示所有的级别。javaScript
gulp.task('data',function(){
return gulp.src(['xml/*.xml','json/*.json']).pipe(gulp.dest('dist/data'));//利用数组增加需要操作的文件数量来进行更多的文件操作
});
javascript
gulp.task('data',function(){
return gulp.src(['xml/*.xml','json/*.json','!json/secret*.json']).pipe(gulp.dest('dist/data'));//利用叹号!排除需要复制的文件
});
javascript
gulp.task('build',['copy-index','images','data'],function(){
console.log("执行完毕!");//是用数组执行要执行的任务
});
syntax: gulp.watch('files',['functionName']);
javascript
//watch 监视文件变化
gulp.task('watch',function(){
gulp.watch('index.html',['copy-index']);
gulp.watch('images/**/*.{jpg,png}',['images']);
gulp.watch(['xml/*.xml','json/*.json','!json/secret*.json'],['data']);
})
使用方法
npm install gulp-sass --save-dev
javascript
var connect = require('gulp-connect');//创建对象
gulp.task('server',function(){//服务器设置
connect.server({
root:'dist',//这个始对象的root属性
livereload: true//livereload属性
});
});
gulp.task('copy-index',function(){
return gulp.src('index.html')
.pipe(gulp.dest("dist"))
.pipe(connect.reload());//添加到copy-index任务的pipe方法。
});
gulp
gulp.task('script', function(){
return gulp.src(['js/needConcat.js', 'js/needConcat_1.js'])
.pipe(concat('vender.js'))//可以命名
.pipe(gulp.dest('dist/js'));
});
gulp
gulp.task('script', function(){
return gulp.src(['js/needConcat.js', 'js/jquery*.js'])
.pipe(concat('vender.js'))//合并js文件的管道
.pipe(uglify())//此处是压缩js文件的管道
.pipe(gulp.dest('dist/js'));
});
gulp
gulp.task('script', function(){
return gulp.src(['js/needConcat.js', 'js/jquery*.js'])
.pipe(concat('vender.js'))
.pipe(gulp.dest('dist/js'))
.pipe(uglify())
.pipe(rename('vender.min.js'))//重命名的地方
.pipe(gulp.dest('dist/js'));
});
gulp
gulp.task('sass', function(){
return gulp.src('stylesheet/**/*.scss')
.pipe(sass())
.pipe(minifyCSS())//压缩css的管道
.pipe(gulp.dest('dist/css'));
});
gulp
gulp.task('images',function(){
return gulp.src('images/**/*')
.pipe(imagemin())//压缩图片的管道
.pipe(gulp.dest('dist/images'));
});