Gulp での逐次実行の課題の克服
Gulp ではタスクが同時に実行されることが多く、逐次実行が妨げられます。タスクが先行タスクの完了に依存している場合、これにより課題が生じる可能性があります。
たとえば、次のタスク構成を考えてみましょう。
gulp.task "coffee", -> gulp.src("src/server/**/*.coffee") .pipe(coffee {bare: true}).on("error",gutil.log) .pipe(gulp.dest "bin") gulp.task "clean",-> gulp.src("bin", {read:false}) .pipe clean force:true gulp.task 'develop',['clean','coffee'], -> console.log "run something else"
このシナリオでは、開発が最初にクリーンに実行されることが期待されます。次にコーヒーを飲んでから、追加の操作を実行します。ただし、Gulp のデフォルトの動作では、クリーンとコーヒーが同時に開始されます。
解決策: 実行シーケンスの力を利用する
順次実行を実現するには、実行シーケンスを利用します。プラグイン。インストール後、コードを次のように変更します。
var runSequence = require('run-sequence'); gulp.task('develop', function(done) { runSequence('clean', 'coffee', function() { console.log('Run something else'); done(); }); });
説明
run-sequence を使用すると、タスクの実行順序を明示的に指定できます。ここで、develop は、done コールバックを受け入れる関数として定義されています。この関数内では、連続して実行するタスクの配列を指定して runSequence が呼び出されます。指定されたすべてのタスクが完了すると、done コールバックがトリガーされ、後続の操作が実行されます。
以上がGulp でタスクを連続的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。