私は 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);
}
};