gulp-changed 不会覆盖不同内容的文件
gulp-changed does not overwrite files with differing content
如果我在两个兄弟目录中创建两个内容不同的文件:
nvioli$ echo "a" > test1/file.txt
nvioli$ echo "b" > test2/file.txt
然后使用 gulp 将第一个输出到目标文件夹,并尝试用第二个覆盖它,使用 gulp 过滤 - 使用 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
谁能解开我的误会?
我想这些选项必须是 changed()
插件参数的一部分。 (;
改变
.pipe(changed("dst"), {hasChanged: changed.compareSha1Digest})
至
.pipe(changed("dst", {hasChanged: changed.compareSha1Digest}))
如果我在两个兄弟目录中创建两个内容不同的文件:
nvioli$ echo "a" > test1/file.txt
nvioli$ echo "b" > test2/file.txt
然后使用 gulp 将第一个输出到目标文件夹,并尝试用第二个覆盖它,使用 gulp 过滤 - 使用 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
谁能解开我的误会?
我想这些选项必须是 changed()
插件参数的一部分。 (;
改变
.pipe(changed("dst"), {hasChanged: changed.compareSha1Digest})
至
.pipe(changed("dst", {hasChanged: changed.compareSha1Digest}))