コンテンツが異なる 2 つの兄弟ディレクトリに 2 つのファイルを作成すると、次のようになります。
nvioli$ echo "a" > test1/file.txt
nvioli$ echo "b" > test2/file.txt
Sha1Digest
次に、gulp を使用して最初のものを宛先フォルダーに出力し、コンパレーターを使用して gulp-changed でフィルタリングして、2 番目のもので上書きしようとします。
var changed = require('gulp-changed');
gulp.task('test1', function(){
return gulp.src("test1/file.txt")
.pipe(gulp.dest("dst"))
});
gulp.task('test2', function(){
return gulp.src("test2/file.txt")
.pipe(changed("dst"), {hasChanged: changed.compareSha1Digest})
.pipe(gulp.dest("dst"))
});
nvioli$ gulp test1
[16:18:01] Using gulpfile ~/git/node/gulpfile.js
[16:18:01] Starting 'test1'...
[16:18:01] Finished 'test1' after 12 ms
nvioli$ gulp test2
[16:18:16] Using gulpfile ~/git/node/gulpfile.js
[16:18:16] Starting 'test2'...
[16:18:16] Finished 'test2' after 22 ms
test2
ソース ファイルの内容がフォルダー内の既存のファイルと異なるため、ファイルが上書きされることを期待しますがdst
、そうではありません。
nvioli$ cat dst/file.txt
a
誰かが私の誤解を解いてくれませんか?