是否可以将标志传递给Gulp以使其以不同方式运行任务?

JavaScript Node.js

阳光猿

2020-03-18

通常在Gulp中任务看起来像这样:

gulp.task('my-task', function() {
    return gulp.src(options.SCSS_SOURCE)
        .pipe(sass({style:'nested'}))
        .pipe(autoprefixer('last 10 version'))
        .pipe(concat('style.css'))
        .pipe(gulp.dest(options.SCSS_DEST));
});

是否可以将命令行标志传递给gulp(这不是任务),并使其有条件地运行任务?例如

$ gulp my-task -a 1

然后在我的gulpfile.js中:

gulp.task('my-task', function() {
        if (a == 1) {
            var source = options.SCSS_SOURCE;
        } else {
            var source = options.OTHER_SOURCE;
        }
        return gulp.src(source)
            .pipe(sass({style:'nested'}))
            .pipe(autoprefixer('last 10 version'))
            .pipe(concat('style.css'))
            .pipe(gulp.dest(options.SCSS_DEST));
});

第2000篇《是否可以将标志传递给Gulp以使其以不同方式运行任务?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
小胖Jim 2020.03.18
var isProduction = (process.argv.indexOf("production")>-1);

CLI gulp production调用我的生产任务,并为任何条件设置一个标志。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android