gulp-change не перезаписывает файлы с различным содержанием
Если я сделаю два файла в двух дочерних каталогах с различным содержанием:
nvioli$ echo "a" > test1/file.txt
nvioli$ echo "b" > test2/file.txt
затем используйте gulp для вывода первого в целевую папку и попробуйте перезаписать его вторым, фильтруя с помощью gulp-change, используя Sha1Digest
компаратор:
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
Может кто-нибудь, пожалуйста, проясните мое недоразумение?
1 ответ
Решение
Я думаю, что варианты должны быть частью changed()
плагины аргументы. (;
+ Изменить
.pipe(changed("dst"), {hasChanged: changed.compareSha1Digest})
в
.pipe(changed("dst", {hasChanged: changed.compareSha1Digest}))