[关闭]
@FarmerZ 2016-06-22T11:16:17.000000Z 字数 5041 阅读 549

gulp

gulp task npm install package

1. install

2. package

3. task 建立和使用任务

4. basic基础部分

5. copy 使用上述所学,实现一个复制文件的操作

  1. var gulp = require('gulp');//创建gulp对象
  2. gulp.task('copy-index',function(){//创建task
  3. return gulp.src('index.html').pipe(gulp.dest("dist"));//使用src方法读取文件,然后放入管道,在使用gulp的dest方法把其放置到一个新建的文件夹中,完成复制。
  4. });

6. copy-multi 复制多个?glob写法

  1. `gulp`
  2. var gulp = require('gulp');
  3. gulp.task('copy-index',function(){
  4. return gulp.src('index.html').pipe(gulp.dest("dist"));
  5. });
  6. gulp.task('images',function(){
  7. return gulp.src('images/*.jpg').pipe(gulp.dest('dist/images'));//整个’images/*.jpg‘写法称作glob,通配符‘*’表示大量匹配,整个glob的意思是,匹配在images文件夹中以.jpg结尾的文件。
  8. });

7. glob 大量规则匹配方式

8. glob-multi 多个glob

  1. gulp.task('data',function(){
  2. return gulp.src(['xml/*.xml','json/*.json']).pipe(gulp.dest('dist/data'));//利用数组增加需要操作的文件数量来进行更多的文件操作
  3. });

9. negate 排除

  1. gulp.task('data',function(){
  2. return gulp.src(['xml/*.xml','json/*.json','!json/secret*.json']).pipe(gulp.dest('dist/data'));//利用叹号!排除需要复制的文件
  3. });

10. master 管理其他任务

  1. gulp.task('build',['copy-index','images','data'],function(){
  2. console.log("执行完毕!");//是用数组执行要执行的任务
  3. });

11. watch监视

  1. //watch 监视文件变化
  2. gulp.task('watch',function(){
  3. gulp.watch('index.html',['copy-index']);
  4. gulp.watch('images/**/*.{jpg,png}',['images']);
  5. gulp.watch(['xml/*.xml','json/*.json','!json/secret*.json'],['data']);
  6. })

12. plugins 插件

14. connect 链接本地服务器

15. reload,实时刷新

  1. var connect = require('gulp-connect');//创建对象
  2. gulp.task('server',function(){//服务器设置
  3. connect.server({
  4. root:'dist',//这个始对象的root属性
  5. livereload: true//livereload属性
  6. });
  7. });
  8. gulp.task('copy-index',function(){
  9. return gulp.src('index.html')
  10. .pipe(gulp.dest("dist"))
  11. .pipe(connect.reload());//添加到copy-index任务的pipe方法。
  12. });

16. concat 合并

  1. gulp.task('script', function(){
  2. return gulp.src(['js/needConcat.js', 'js/needConcat_1.js'])
  3. .pipe(concat('vender.js'))//可以命名
  4. .pipe(gulp.dest('dist/js'));
  5. });

17. uglify 压缩js文件

  1. gulp.task('script', function(){
  2. return gulp.src(['js/needConcat.js', 'js/jquery*.js'])
  3. .pipe(concat('vender.js'))//合并js文件的管道
  4. .pipe(uglify())//此处是压缩js文件的管道
  5. .pipe(gulp.dest('dist/js'));
  6. });

18. rename重命名

  1. gulp.task('script', function(){
  2. return gulp.src(['js/needConcat.js', 'js/jquery*.js'])
  3. .pipe(concat('vender.js'))
  4. .pipe(gulp.dest('dist/js'))
  5. .pipe(uglify())
  6. .pipe(rename('vender.min.js'))//重命名的地方
  7. .pipe(gulp.dest('dist/js'));
  8. });

18. minifyCSS压缩css

  1. gulp.task('sass', function(){
  2. return gulp.src('stylesheet/**/*.scss')
  3. .pipe(sass())
  4. .pipe(minifyCSS())//压缩css的管道
  5. .pipe(gulp.dest('dist/css'));
  6. });

19. imagemin 压缩图片

  1. gulp.task('images',function(){
  2. return gulp.src('images/**/*')
  3. .pipe(imagemin())//压缩图片的管道
  4. .pipe(gulp.dest('dist/images'));
  5. });
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注