Gulp Dest忽略子目录

时间:2017-02-14 21:39:22

标签: javascript npm gulp

解决方案

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也能正确传输。

谢谢!

0 个答案:

没有答案