我得到了最奇怪的行为。
我有一个gulp文件,它有三个任务。干净,将一堆东西复制到文件夹,将整个文件夹复制到其他目的地。
似乎复制整个文件夹的MOST,但是将某些文件夹留空。没有押韵或理由,它们都是容器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(第一个任务)。也 我已经尝试过几乎所有依赖关系的可变排列,例如["清洁"]
答案 0 :(得分:0)
以下任务定义不正确
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")));
});
你正在做4份,但只检查最终复制流的结尾。
将它们分成4个任务或组合src并创建单个任务来解决问题