Как сделать разные таски для dev и production без лишней писанины?

Вот есть у меня, например, 2 таска, где я собираю html и css. И есть две задачи: разрабатывать проект - в этом случае галп должен мониторить изменения или просто скачать репозиторий, установить зависимости и скомпилировать исходники.
gulp.task( 'pug', function() {
	return gulp.src( 'src/**.pug' )
	.pipe(pug())
	.pipe(gulp.dest( 'app/' ))
	.pipe(sync.reload({ stream: true }))
	} );

gulp.task( 'sass', function() {
	return gulp.src( 'src/main.sass' )
	.pipe(sass())
	.pipe(autopref({
		browsers: ['last 5 versions'],
		cascade: false
	}))
	.pipe(gulp.dest( 'app/css/' ))
	.pipe(sync.reload({ stream: true }))
	} );

gulp.task( 'sync', function() {
	sync({
		server: {
			baseDir: 'app'
		},
		notify: false
		});
	});


В первом случае пишу в каждом таске .pipe(sync.reload({ stream: true })) и делаю
gulp.task( 'watch', ['sync', 'sass', 'pug''], function() {
	gulp.watch( 'src/**/**.**', ['pug', 'sass'] );
});
gulp.task('default', ['watch']);


Как сделать таск для продакшн без ватчера по-человечески? не копипасить же таски ради исключения одной команды?
  • Вопрос задан
  • 555 просмотров
Решения вопроса 1
@abberati
frontend-разработчик
Есть такой пакет.
А есть ещё вот такой пакет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
svistiboshka
@svistiboshka
живые веб интерфейсы
var gulpif = require('gulp-if');
var uglify = require('gulp-uglify');

var dev = true;

gulp.task('build', function() {
gulp.src('./src/*.js')
.pipe(gulpif(!dev, uglify()))
.pipe(gulp.dest('./dist/'));
});

gulp.task('production', function() {
dev=false
gulp.start(‘build’)
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы