node.js - 如何使用 Gulp 在流中替换?

标签 node.js stream gruntjs gulp build-tools

我尝试从 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”为真时,我想删除注入(inject),换句话说,从 fileStream 中减去 injectionStream。

我试过:

var es = require('event-stream');
es.replace()

var replace = require('gulp-replace');

它适用于字符串,但我无法成功读取文件中的流。谁能给我一个小提示?

也许它是生成任务的不正确工具,我应该继续使用 Grunt 和\或其他工具,如 yo 等?
感谢您的宝贵时间!

最佳答案

干得漂亮 :) 看起来像 gulp-replace对于从谷歌来到这里的人来说,这可能是一种更简单的方式..

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'));
});

关于node.js - 如何使用 Gulp 在流中替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25938283/

相关文章:

node.js - 如何检查文件是否在 node.js 中可执行?

node.js - nodejs生成带有数字签名的PDF

JavaScript 代码未按所需顺序运行(Node.js、MongoDB)

node.js - Nodejs 二进制 http 流

安卓流媒体声音

android - PhoneGap 构建 android 启动画面不工作

node.js - 服务器端 EJS 向最终用户公开是否安全?

FFMPEG:2x2 网格相机流到 Youtube

javascript - 使用 Google Closure Builder 时,我可以使用现有的 deps.js 文件而不是跟踪路径吗?

javascript - 检查 grunt 是否在详细模式下运行