Мне просто интересно, можно ли передавать аргументы в командах Gulp.Аргумент Pass Gulp в команде
Например, я хотел бы использовать следующую команду:
gulp alpha
Я тогда как alpha
часть этой команды, чтобы передать в моей задаче стилей, как так:
gulp.task('styles', ([ ALPHA ARGUMENT HERE ]) => {
return gulp.src('src/styles/theme/[ ALPHA ARGUMENT HERE ]/main.scss')
.pipe(sassGlob())
.pipe(sass({
style: 'expanded',
quiet: true,
'default-encoding': 'UTF-8'
}))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(gulp.dest('public/css'))
//.pipe(rename({ suffix: '.min' }))
.pipe(rename('[ ALPHA ARGUMENT HERE ]-all.min.css'))
.pipe(minifycss({
compatibility: 'ie8',
noAdvanced: true
}))
.pipe(gulp.dest('public/css/'));
});
Затем, когда я запускаю задачу Gulp по умолчанию:
// Default Task Init
gulp.task('default',() => {
gulp.start('production');
});
gulp.task('production', ['clean'],() => {
gulp.start('styles', 'images', 'fonts', 'scripts');
});
Я бы хотел, чтобы моя задача стилей имела генерацию создал файл с именем: alpha-all.min.css
в моей папке public/css/
.
В настоящее время я использую Gulp Yargs для непосредственного использования задач в командной строке.
Возможно ли это в рамках Gulp?
Невозможно. 'gulp alpha' сообщает gulp для запуска задачи с именем' alpha', а не для запуска задачи 'default' с параметром' alpha'. Невозможно обойти это. –
@SvenSchoenung, мне удалось сделать это с помощью Yargs, но не идеально, но работает :) –