私はGulpを使用していますが、ソースを書き込む前にディレクトリのすべての内容を削除/ "クリーン"したいと思います。Node.js streams =>フォルダに移動する前の内容を削除する
削除操作を実行するストリームを、読み取り/変換/書き込み操作を行うストリームに接続する方法はありますか?問題は、これが動作するようには思えないということである
function transpileJSX() {
var d = domain.create();
d.run(function() {
gulp.src('./public/static/app/js/views/**/*.js').pipe(react({harmony: true}))
.pipe(gulp.dest('./public/static/app/js/jsx')).on('end', function() {
d.emit('end');
d.exit();
});
});
return d;
}
function deleteJSX() {
return gulp.src('./public/static/app/js/jsx/**/*.js')
.pipe(clean({force: true}));
}
gulp.task('transpile-jsx', function() {
return transpileJSX().on('error', function (err) {
console.error(err);
});
});
gulp.task('delete-jsx', function (cb) {
return deleteJSX();
});
:
deleteJSX().pipe(transpileJSX());
transpileJSX操作がdeleteJSX操作が始まる前に開始しているようだ
今、私はこれを持っています。それはストリームになると予想されるかもしれません。しかし、削除操作全体が最初に完了するようにして、すべてが適切に機能するようにしたいと思うのですか?例えば
、私はこれを行う場合:
gulp.task('some-task', ['delete-jsx','transpile-jsx'], function (done) {
someTask(done);
});
ログは削除-JSXのタスクが終了する前にtranspile-JSXタスクが開始されることを示して一息。
誰かがそれに移動する前にフォルダをクリーニングするときに使用するパターンがある場合は、私はそれをコピーしたいと思います!
ありがとう、これは意味がある!あなたはギャルプ4がリリースされる時を知っていますか? –
[いくつかの顕著な変更点](https://github.com/gulpjs/gulp/issues/1486)のため、[due date](https://github.com/gulpjs/gulp/milestones)はまだ設定されていません。しかし、あなたがそれを試したいならば、あなたは[現在の開発版をインストールする]ことができます(http://blog.reactandbethankful.com/posts/2015/05/01/how-to-install-gulp-4/)。私はそれを持って遊んできましたが、まだ問題は発生していませんが、YMMV。 –