7

Grunt から Gulp に切り替えようとすると、問題が発生します。

2 つのファイルから 2 つのストリームを読み取りました

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 など) を使用する必要がありますか?
お時間をいただきありがとうございます!

4

2 に答える 2

2

私はついに解決策を見つけました!

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))

...

しばらく時間がかかりましたが、終わったことを嬉しく思います。

ありがとうございました

于 2014-09-19T18:45:40.483 に答える