gulp:仅传递管道中更改的文件

时间:2015-11-13 08:19:02

标签: gulp gulp-changed gulp-newer gulp-replace gulp-cached

我尝试对文件进行排序,替换某些文本并仅保存更改。在我目前的代码public void AddItems(int OrderId, int ItemId) { Item item = db.ItemSet.SingleOrDefault(i => i.Id == ItemId); Order order = db.OrderSet.SingleOrDefault(o => o.Id == OrderId); order.Items.Add(item); db.SaveChanges(); } 中什么也没做。

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')); }); 相关的小问题。

1 个答案:

答案 0 :(得分:0)

根据gulp-newer vs gulp-changed gulp-changed和gulp-newer比较流文件与目录中的文件,他们比较了'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'));
});

仍有问题 - 我在src中完全重新创建了dest目录结构,无论它是文件还是空的。