gulp技巧总结

Posted mengff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gulp技巧总结相关的知识,希望对你有一定的参考价值。

1. gulp.dest 会自动创建目录

gulp.dest(dir),若dir不存在,gulp会自动创建它

2. gulp.src copy具名路径(即不子目录**的路径)的文件,不会保留文件夹路径

gulp.src(‘static/user/user.js‘)
    .pipe(gulp.dest(dist));

gulp.src(‘static/*.js‘); //一级的*.xx文件也不会保留路径

如上,将user.js拷贝到dist,会形成如下结构

dist
  user.js

若要保留路径,即形成

dist
  static
    user
      user.js

需要添加base选项,如下:

gulp.src(‘static/user/user.js‘, {base:‘.‘})
    .pipe(gulp.dest(dist));
//或者使用通配符
gulp.src(‘static*/user*/user.js‘)
    .pipe(gulp.dest(‘dist));

3. gulp.src copy带有*的路径的文件,会保留文件夹路径

gulp.src(‘login/**/*.js‘)
    .pipe(gulp.dest(‘dist‘));


复制到dist的文件是带文件夹的

要解决这个问题,有如下方法:

1. gulp-flatten插件可以拍平文件结构

var gulp = require(‘gulp-flatten‘);
//转移图片并压缩
gulp.task(‘copy-images‘, function() {
    return gulp.src([‘./src/common/images/**/*‘])
        .pipe(flatten())
        .pipe(imagemin())
        .pipe(gulp.dest(‘./build/images‘));
});

2. gulp-rename插件可以修改文件路径和文件名

var gulp = require(‘gulp-rename‘);
//转移图片并压缩
gulp.task(‘copy-images‘, function() {
    return gulp.src([‘./src/common/images/**/*‘])
        .pipe(rename({dirname: ‘‘}))
        .pipe(imagemin())
        .pipe(gulp.dest(‘./build/images‘));
});

 






以上是关于gulp技巧总结的主要内容,如果未能解决你的问题,请参考以下文章

Android课程---Android Studio使用小技巧:提取方法代码片段

前端构建工具gulp.js的使用介绍及技巧

点评君第10期Gulp 范儿——Gulp 高级技巧

gulp的使用介绍及技巧

Gulp实战总结

gulp总结