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‘)); });