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