SORU
11 NİSAN 2014, Cuma


Bunu farklı şekillerde görevleri çalıştırmak için Yudum için bir bayrak geçmek mümkün mü?

Normalde Yudum görevleri şöyle:

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

(Bir görev) yudum ve görevleri şartlı buna dayalı olarak çalıştırmak için bir komut satırı bayrak geçmek mümkün mü? Örneğin

gulp my-task -a 1

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

CEVAP
13 NİSAN 2014, Pazar


Yudum bunun için açıklama herhangi bir teklif yok, ama birçok komut argümanlar biri ayrıştırıcıları kullanabilirsiniz. yargs severim. Olmalıdır:

var argv = require('yargs').argv;

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

Ayrıca gulp-if ile koşullu stream boru, dev için çok yararlı vs bina eşya birleştirebilirsiniz:

var argv = require('yargs').argv,
    gulpif = require('gulp-if'),
    rename = require('gulp-rename'),
    uglify = require('gulp-uglify');

gulp.task('my-js-task', function() {
  gulp.src('src/**/*.js')
    .pipe(concat('out.js'))
    .pipe(gulpif(argv.production, uglify()))
    .pipe(gulpif(argv.production, rename({suffix: '.min'})))
    .pipe(gulp.dest('dist/'));
});

gulp my-js-task gulp my-js-task --production ile arayın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • Marques Brownlee

    Marques Brow

    21 Mart 2008