2016-11-11 2 views
0

私は経由フラグでタスクを実行できます。ギャルシリーズから旗を渡す?

gulp build --production 

は次のように設定したタスクを持っているためにとにかくがあります:

gulp.task('deploy', 
gulp.series('build --production')); 

gulp.task('deploy', 
gulp.series('build')); 

もフラグが含まれます

プロダクションビルドを実行するにはgulp deployと呼ぶことができますか?

+0

いいえ、それは不可能です。最も近いことは、パラメータ化されたタスク関数を返すファクトリ関数を設定することです。 –

+0

どうすればいいですか? – panthro

答えて

0

組み込みのgulp機能を使用することは実際には不可能なので、これをできるだけ簡単で便利にするパッケージを書きました:gulp-parameterized

(注:。。。。これはまだ進行中の作業で一つには、それは、包括的なテストスイートを必要とすることがさらに厳しくマニュアルに欠けているしかしコア機能がテストされており、動作するはずです)

ここだあなた例gulp-parameterizedを使用して:

var gulp = require('gulp'); 
var parameterized = require('gulp-parameterized'); 

gulp.task('build', parameterized(function(_) { 
    if (_.params.production) { 
    /* production build */ 
    } else { 
    /* development build */ 
    } 
})); 

gulp.task('deploy', parameterized.series('build --production')); 

また、これは自動的にコマンドラインフラグを解析するので、あなたはもうyargs持つものを自分で解析する必要はありません。

次のコマンドは生産ビルドを作成します。

$ gulp build --production 
$ gulp deploy 

次のコマンドは、開発を作成しながらビルド:

$ gulp build 
$ gulp build --no-production 
関連する問題