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"

developタスクで実行しclean、完了したら実行しcoffee、完了したら別の何かを実行したいのですが、それがわかりません。この部分は機能しません。アドバイスをお願いします。

ベストアンサー1

デフォルトでは、gulp は明示的な依存関係がない限り、タスクを同時に実行します。これは、clean依存関係は望まないが、他のすべてのタスクよりも先に実行する必要がある などのタスクにはあまり役立ちません。

私が書いたプラグrun-sequenceイン特に gulp でこの問題を修正します。インストールしたら、次のように使用します。

var runSequence = require('run-sequence');

gulp.task('develop', function(done) {
    runSequence('clean', 'coffee', function() {
        console.log('Run something else');
        done();
    });
});

詳細な手順はパッケージの README で読むことができます。また、いくつかのタスク セットを同時に実行することもサポートされています。

ご注意ください。(事実上)gulpの次のメジャーリリースで修正される、依存関係の自動順序付けを完全に排除し、run-sequence実行順序を手動で指定できる に似たツールを提供しているためです。

ただし、これは重大な重大な変更であるため、今すぐ使用できるのに待つ理由はありませんrun-sequence

おすすめ記事