0

このトピックについて私が見つけた最後の投稿は 2015 年の秋です。これは、すべての開発者が遅かれ早かれ必要とする基本的なものの 1 つだと思います。

実際のビルド構成 (デバッグ/ステージング/リリース) などに基づいて、gulp タスクを区別したいと思います。実際には Visual Studio のソリューション構成に接続する必要はありません。

提案された解決策は次のとおりです。これを Task Runner Explorer 内のオプションとして使用し、タスク バインディングで、タスクを実行する構成にチェックを入れることができます。

これが必要なのは私だけですか?

4

1 に答える 1

0

私は TRX を使用しませんが、これらのタスクを「Project Open」や「Before Build」などのイベントにバインドできます。gulp-if を使用して親タスクに変数を設定し、すべての子タスクを で呼び出しますrun-sequence。(未テストのコード)

gulpfile.js

var gulp = require('gulp'),
       $ = require('gulp-load-plugins')(),
       requireDir = require('require-dir')('./js/gulp/tasks'),
       runSequence = require('run-sequence'),
       vars = require('./variables');

gulp.task('dev', function(){
      vars.isProduction = false;
      runSequence('clean', ['css', 'scripts']);
});
gulp.task('prod', function(){
      vars.isProduction = true;
      runSequence('clean', ['css', 'scripts']);
});

/js/gulp/tasks/scripts.js

gulp.task('scripts', function () {
    return gulp.src('scripts/**/*.js')
       .pipe($.concat('app.min.js'))
       .pipe($.if(vars.isProduction, $.uglify()))
       .pipe(gulp.dest('/js'))
       .pipe($.plumber({
          errorHandler: vars.onError
        }))
       .pipe($.if(!vars.isProduction, $.livereload()));

変数.js

module.exports = {
    isProduction: false,
    onError: function (err) {
        log(err);
    }
};
于 2016-04-15T23:05:06.627 に答える