我试图从Grunt切换到Gulp,但我遇到了一个问题:
我从的两个文件中读取了两个流
var fileStream = gulp.src(file);
var injectionStream = gulp.src(injection)
.pipe(replace('#class-name#', argv.cname));
如果我的控制台参数"--remove"不存在,我就可以将这些流连接起来
.pipe(concat('animation.styl'))
.pipe(gulp.dest('./dist'))
然而,当"--remove"为true时,我希望删除注入,换句话说,从fileStream中减去injectionStream。
我试过了:
var es = require('event-stream');
es.replace()
var replace = require('gulp-replace');
它适用于字符串,但我无法成功处理从文件中读取的流。有人能给我一个小小的提示吗?
也许这是一个不正确的生成任务工具,我应该使用Grunt和/或其他工具,如yo等
感谢您抽出时间!
不错的工作:)对于从谷歌来这里的人来说,gullow替换可能是一种更容易的方式。。
var replace = require('gulp-replace');
gulp.task('templates', function(){
gulp.src(['file.txt'])
.pipe(replace(/foo(.{3})/g, '$1foo'))
.pipe(gulp.dest('build/file.txt'));
});
我终于找到了解决方案!
fs.readFile(injectionFile, 'utf8', function (err, injStr) {
injStr = injStr.replace(/svv/g, cname);
fileStream
.pipe(gulpif(rm!=true,injectString.append(injStr),replace(injStr,'')))
.pipe(concat(initialFile))
.pipe(gulp.dest(animation))
这花了一段时间,但我很高兴它结束了。
感谢