免責聲明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