2016-11-29 17 views
0

しばらくGulp(3.9.0)を使用していましたが、それを愛していますが、そのバグの1つの側面があります。私が何か間違ったことをしているのか、機能について間違った考え方をしているのかなと思います。 '-jsの構築' と 'ビルドCSS' ので...Gulpが間違った順序でタスクを報告します

Starting 'build-js'... 
Finished 'build-js' after 22 μs 
Starting 'build-css'... 
Finished 'build-css' after 2.48 μs 
Starting 'build'... 
Finished 'build' after 2.09 μs 

されています。私はこのような出力を得る

gulp.task("build", ["build-js", "build-css"]); 

ことは私はこのようなタスクを考えてみましょう依存関係、サブタスクではありません。

しかし、私はこのような出力たい:私の観点から、-JSを構築し、構築し、CSSのためのサブタスクでなければなりません...

Starting 'build'... 
Starting 'build-js'... 
Finished 'build-js' after 22 μs 
Starting 'build-css'... 
Finished 'build-css' after 2.48 μs 
Finished 'build' after 26.57 μs 

を。

私が行うことで、この機能を取得することができます:

gulp.task("build",() => { 
    gulp.start("build-js", "build-css"); 
}); 

を...しかし、一気の背後にある人々は、startメソッドを使用して私たちを望んでいません。

ここでは2014年の同様の質問があります:Gulp tasks from within other Gulp tasks?しかし、それほどの愛はありませんでした。ビルド・タスクで実行される約20種類のサブタスクがあり、すべてが依存関係を介してリンクされており、出力順序が混乱するため、主に私はこれを行うことに興味があります。

要約すると... より多くの方法で私の希望する機能を得るためのより良い方法はありますか? ...まったく間違った方法でこれについて考えていますか?

答えて

1

これは、タスクが実行している順序ですが、それはGulpのやり方です。 2つのタスク間に依存関係がない場合は、できるだけ早く開始します。私が知る限り、プリント注文を変更する唯一の方法は、実際にタスクの順序を変更することです。 run-sequenceでこれを行うことができます。このタスク:

Starting 'build'... 
Starting 'build-js'... 
Finished 'build-js' after 25 ms 
Starting 'build-css'... 
Finished 'build-css' after 2.02 ms 
Finished 'build' after 30 ms 

しかし、私は特にそれをお勧めしません:

gulp.task('build', function (callback) { 
    return runSequence('build-js', 'build-css', callback); 
}); 

...この出力につながります。 Gulpが設計され、大規模なプロジェクトでパフォーマンスに影響を及ぼす可能性があるのとは逆のことです。

+0

ありがとうございました。良い答え、ちょうど私が望んでいたものではありません: - p。私はギャルプが並行して動作することを知っています。実行シーケンスを使用すると、代わりにシリアルで実行されるため、パフォーマンスに影響します。 IMOは、 'gulp way'を実行すると、タスクが指定された順序で実行されていないように見えるため、出力を無駄にします。これは、(テストの実行やパッケージのインストールのような)独自の出力を持つ可能性がある多くのタスクを実行すると、特に混乱します。 – JTirr

関連する問題