免责声明Concat的:我是新来吞掉咕嘟咕嘟使用陈旧的文件信息
这似乎是显而易见的,但我不能让一饮而尽CONCAT正确串接从另一个一饮而尽任务的输出。这是一个吞噬文件,证明我遇到的问题。
var gulp = require('gulp');
var concat = require('gulp-concat');
gulp.task('task1', function() {
gulp.src(['file1.txt', 'file2.txt', 'task2-output.txt', 'file3.txt'])
.pipe(concat('output.txt'))
.pipe(gulp.dest('.'))
});
gulp.task('task2', function() {
gulp.src('task2-input.txt')
.pipe(concat('task2-output.txt'))
.pipe(gulp.dest('.'))
});
gulp.task('default', ['task2', 'task1']);
“任务1” 是应该包括FILE1.TXT,FILE2.TXT,TASK2-output.txt的,和file3.txt的顺序。问题是,task2-output.txt没有正确包含。看来task1包含了task2-output.txt的内容,就像运行gulp命令时出现的那样。如果当gulp启动时task2-output.txt缺失,它将被忽略。如果task2-input.txt被修改,task2-output.txt被task2修改,但旧版本被包含在output.txt中
如果我特别按照该顺序分别运行gulp task2和gulp task1,它可以正常工作。这是当我运行失败的默认任务。
下面是一个简单的会话:
C:\Users\Ken\htdocs\gulptest>type file1.txt
File 1
C:\Users\Ken\htdocs\gulptest>type file2.txt
File 2
C:\Users\Ken\htdocs\gulptest>type task2-input.txt
Task 2
C:\Users\Ken\htdocs\gulptest>type file3.txt
File 3
C:\Users\Ken\htdocs\gulptest>gulp
[10:35:15] Using gulpfile ~\htdocs\gulptest\gulpfile.js
[10:35:15] Starting 'task2'...
[10:35:15] Finished 'task2' after 7.76 ms
[10:35:15] Starting 'task1'...
[10:35:15] Finished 'task1' after 3.67 ms
[10:35:15] Starting 'default'...
[10:35:15] Finished 'default' after 15 μs
C:\Users\Ken\htdocs\gulptest>type output.txt
File 1
File 2
File 3
尝试添加return语句到你的任务ALA:返回gulp.src ..... – Mark
添加return语句几乎是固定的。我还必须将task2添加为task1的依赖项。我会发布一个答案。感谢您的建议! –
很高兴帮助。现在我不认为你需要在默认任务中进行task2调用。 – Mark