Node.js
のTypescript
アプリケーションを構築するのにGulp
を使用しています。2回の反復でGulpファイル処理
私の目的のために、すべてのファイル.ts
をスキャンし、情報を取得してから、この情報を.ts
ファイルの一部に追加する必要があります。
私はファイルハンドラをpipe()
に挿入するためにgulp-modify
を使用しています。
gulp.task(...., function() {
return gulp.src('*.ts')
.pipe(modify(statisticsProccesor))
.pipe(modify(injectData))
.pipe(gulp.dest(...))
});
statisticsProccesor
とinjectData
は、ソースストリームから正確なファイルを処理するfunction(file, content)
実装されています。
このアプローチを使用すると、ソースからいくつかの統計を取得できます。しかし、gulp.src()
がすべてのファイルを1つずつ処理し(すべてのハンドラも呼び出しているため)、私はそれを取り戻すことができません。
私は2つのファイル1.ts
と2.ts
を持っていたら、このタスクは、このような順序でそれを処理します:
1.ts: statisticsProccesor(), injectData()
2.ts: statisticsProccesor(), injectData()
私は、このような魔法を行う必要がありながら:
1.ts: statisticsProccesor()
1.ts: statisticsProccesor()
2.ts: injectData()
2.ts: injectData()
私は2を追加しようとしましたタスクへのコマンドはgulp.src().pipe(modify)
です。また、これらの部分を2つの異なるタスクに分けて、1つずつ起動します。しかしGulpは実行を最適化するので、ソースを前処理して二度反復することはできません。
あなたは** **二つのタスクでこれを行うことができます。実行順序を正しくヒントする必要があります:http://stackoverflow.com/questions/22824546/ –