Javascript Gulp Dest正在忽略子目录 解决方案

Javascript Gulp Dest正在忽略子目录 解决方案,javascript,npm,gulp,Javascript,Npm,Gulp,在gulp.src之前添加return,因为gulp.src异步返回流,并且当流完成处理时,返回将向任务运行程序指示 问题: 这是我的gulp任务,用于将图像从src移动到dist(此文件另存为gulp_tasks/images.js): 以下是my gulpfile.js的(精简版),它具有所有相关功能/包括: const gulp = require('gulp'), argv = require('yargs').argv, isDist = argv

gulp.src
之前添加
return
,因为
gulp.src
异步返回流,并且当流完成处理时,返回将向任务运行程序指示

问题: 这是我的gulp任务,用于将图像从src移动到dist(此文件另存为gulp_tasks/images.js):

以下是my 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'));
要运行此任务,我使用
gulpimg

似乎我的吞咽没有正确地进入子目录,尽管有(我认为是)正确的glob模式

在具有以下结构的文件夹上运行此任务(假设我们已经在src/img中):

在dist/img中产生以下输出:

├── a.jpg
├── b
│   ├── c.jpg
│   ├── d
我想知道如何确保e.jpg也正确传输


谢谢

我刚试过你的设置,一切都很好。这是我使用过的代码:
gulp.task('default',()=>gulp.src('src/img/***')).pipe(gulp.dest('dist/img'))。我们可能需要更多的gulpfile来找出问题。@NelsonYeung我已将gulpfile的相关部分添加到原始帖子中。谢谢你的帮助!我的仍在使用你的新代码。六羟甲基三聚氰胺六甲醚。。。您使用的是哪种版本的gulp?还可以尝试使用查看管道中正在进行的操作。我觉得您实际上是在其他地方删除该文件,但我们将从您的
gulp debug
输出中看到。@NelsonYeung我使用的是gulp v3.9.0。我会在有机会的时候运行gulpdebug,但我很确定我不会在其他地方删除该文件。不过我可能错了。@NelsonYeung我在添加了gulp调试之后设法解决了这个问题;在
gulp.src
之前添加
return
,修复了该问题。我注意到调试日志将提前结束,而函数不必完成,因此添加返回解决了gulp.src的异步返回问题。
├── a.jpg
├── b
│   ├── c.jpg
│   ├── d
│   │   ├── e.jpg
├── a.jpg
├── b
│   ├── c.jpg
│   ├── d