0
我只是想知道是否可以在Gulp命令中传递参数。在命令中传递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');
});
我希望我的样式任务能够生成在我的public/css/
文件夹中创建了一个名为alpha-all.min.css
的文件。
我目前使用Gulp Yargs来直接使用命令行中的任务。
这是可能的在Gulp?
不可能。 'gulp alpha'告诉gulp运行一个名为'alpha'的任务,而不是使用参数'alpha'运行'default'任务。没有办法规避这种情况。 –
@SvenSchoenung,我设法使用Yargs来做到这一点,但并不完美,但工作:) –