【发布时间】:2015-10-23 16:15:53
【问题描述】:
我得到了最奇怪的行为。
我有一个 gulp 文件,它包含三个任务。清理,将一堆东西复制到一个文件夹,将整个文件夹复制到其他目的地。
它似乎复制了整个文件夹的大部分内容,但将某些文件夹留空。没有押韵或原因,它们都是包含 javascript 文件和文件夹的文件夹。没有意义。
这就是我得到的。
gulp.task('clean', function(cb) {
del([config.get("deploy.output.deploy"), config.get("deploy.buildDirectory")],{force:true}, cb);
});
gulp.task("copy-source",["clean"], function () {
gulp.src("src/**")
.pipe(gulp.dest(config.get("deploy.output.app")+"/src"));
gulp.src(["package.json", "server.js", "bootstrap.js"])
.pipe(gulp.dest(config.get("deploy.output.app")));
gulp.src("config/**")
.pipe(gulp.dest(config.get("deploy.output.app")+"/config"));
return gulp.src("deploy/*")
.pipe(gulp.dest(config.get("deploy.output.deploy")));
});
gulp.task("copy-to-buildDir",["copy-source"], function () {
return gulp.src(config.get("deploy.output.deploy")+"/**")
.pipe(gulp.dest(config.get("deploy.buildDirectory")));
});
gulp.task("deploy",[ "copy-to-buildDir"]);
src文件夹结构长这样,或多或少明显是psudo结构
output
└── app
├── config
│ └── file7.js
├── src
│ ├── modules
│ │ ├── ges
│ │ │ ├── file1.js
│ │ │ └── file2.js
│ │ └── file3.js
│ ├── file4.js
│ └── controllers
│ └── file5.js
└── file6.js
dest 文件夹结构如下所示
output
└── app
├── src
│ ├── modules
│ │ └── EMPTY
│ └── controllers
│ └── file5.js
└── file6.js
所以模块和控制器是姐妹,一个有一个没有文件。没有意义。
如果您有任何想法,我将不胜感激。
src(第一个任务)的构建也每次都有效。还 我已经尝试了几乎所有可能的依赖关系排列,例如[“干净”]
【问题讨论】:
-
你在同一个任务中有多个 gulp.src 并且只有最后一个在返回..所以基本上它可能在其他 gulp.src 完成复制之前完成...尝试合并源并拥有单个gulp.src
-
有趣。当你把它拼出来时,听起来有点明显。谢谢,今天晚些时候试试。
-
@entre 这似乎可以解决问题。您能否用该信息为后代做出实际答案,以便我将其选为正确?