我试着对文件进行排序,在一些文件中替换文本,只保存已更改的文件。在我当前的代码中,gulp-changed什么也不做。
const gulp = require('gulp');
const changed = require('gulp-changed');
const replace = require('gulp-replace');
gulp.task('text-replace', function(){
var before = 'xxx';
var after = 'yyy';
gulp.src('src/**/*')
.pipe(replace(before, after))
.pipe(changed('src'))
.pipe(gulp.dest('dest'));
});更新:我自己几乎解决了这个问题,但是下面的答案中有一个与gulp-cached有关的小问题。
发布于 2015-11-13 09:23:14
根据gulp-newer vs gulp-changed修改的和更新的不将流文件与目录中的文件进行比较的方法,它们比较'src‘目录文件和'dest’目录文件,并据此决定如何处理流文件。还有另一种解决办法:
const cache = require('gulp-cached');
gulp.src('src/**/*')
.pipe(cache('just_cache_name'))
.pipe(replace(before, after))
.pipe(cache('just_cache_name'))
.pipe(gulp.dest('dest'));
});尽管如此,仍然存在一个问题--我在dest中完全重新创建了dest目录结构,不管是文件还是空的。
https://stackoverflow.com/questions/33688353
复制相似问题