在return
之前添加gulp.src
,因为gulp.src
异步返回一个流,并且返回将在流完成处理时向任务运行器指示。
这是我的gulp任务,只需将图像从src移动到dist(此文件保存为gulp_tasks / images.js):
const gulp = require('gulp'),
browserSync = require('browser-sync');
module.exports = (gulp, config , isDist) => {
return () => {
gulp.src(config.src.img)
.pipe(gulp.dest(config.dist.img))
.pipe(browserSync.stream({stream: true}))
};
};
这是我的gulpfile.js的(剥离版本),它具有所有相关功能/包括:
const gulp = require('gulp'),
argv = require('yargs').argv,
isDist = argv.prod ? true : false,
config = {
src: {
img: 'src/img/**/*'
},
dist: {
img: 'dist/img',
}
};
function getTask(task) {
return require('./gulp_tasks/' + task)(gulp, config, isDist);
}
gulp.task('img', getTask('images'));
要运行此任务,我使用gulp img
。
看起来我的gulp并没有正确进入子目录,尽管我(我认为)是正确的glob模式。
在具有以下结构的文件夹上运行此任务(假设我们已经在src / img中):
├── a.jpg
├── b
│ ├── c.jpg
│ ├── d
│ │ ├── e.jpg
在dist / img中输出以下结果:
├── a.jpg
├── b
│ ├── c.jpg
│ ├── d
我想知道如何确保e.jpg也能正确传输。
谢谢!