watchify
ファイルをパイプできるようにするためのgulpプラグインを作成しようとしています。問題は、私のタスクが実際に「終了」しないことです。タスクはそこに座って、一連のファイルを監視し、必要に応じて再構築するためです。
では、このプラグインを「介して」コードを送信するにはどうすればよいでしょうか?
現在、プラグインを呼び出す私のタスクは次のように単純化されています。
gulp.src( '/path/to/js/*.js' )
.pipe( watchifyPlugin() )
.pipe( cfg.gulp.dest( '/path/to/build' ) )
私watchifyPlugin
は:
module.exports = function( opts ){
return through.obj( function( file, enc, cb ){
// watchify file
self.push( data ); // whenever any .js files are updated
// never call cb()
}
}
.js
これで、グロブが最初に見つけたファイルで問題なく動作します。ただし、他のファイルが実際にプラグインに到達することはありませんcb()
。
では、これを行うにはどうすればよいですか?を呼び出さずにストリームへの書き込みを続ける方法はありますか?これにより、ストリームcb()
が閉じられますが、前のパイプを続行できますか?
言い換えると:
- index.js
watchify()
- 何度
dest()
も呼び出しても問題なくパイプしますself.push()
cb()
呼んだことない
- index2.js
watchify()
が呼び出されるまで決して呼び出されませんcb()
が、これによりパイプindex.js
が「閉じられます」index.js