Gulp 如何使用param执行吞咽任务?

Gulp 如何使用param执行吞咽任务?,gulp,Gulp,有一个“吞咽”任务: gulp.task('copy-bower-components-to-dev', function () { gulp.src('./app/bower_components/**') .pipe(gulp.dest('dev/bower_components')); }); 我还需要为另一个文件夹执行相同的任务: gulp.task('copy-bower-components-to-prod', function () { gulp.src('./a

有一个“吞咽”任务:

gulp.task('copy-bower-components-to-dev', function () {
  gulp.src('./app/bower_components/**')
    .pipe(gulp.dest('dev/bower_components'));
});
我还需要为另一个文件夹执行相同的任务:

gulp.task('copy-bower-components-to-prod', function () {
  gulp.src('./app/bower_components/**')
    .pipe(gulp.dest('prod/bower_components'));
});

但它不是一个干净的代码;如何使用params(在本例中是带有文件夹名的param)执行“吞咽”任务?提前谢谢

吞咽UTIL实际上非常适合:

var gutil = require('gulp-util');

function destination() {
    return (!!gutil.env.type && gutil.env.type == 'prod' ? 'prod' : 'dev';
}

gulp.task('copy-bower-components', function () {
  return gulp.src('./app/bower_components/**')
    .pipe(gulp.dest(destination() + '/bower_components'));
});
使用
gulp--type=prod
运行它以设置新文件夹

您可以尝试使用此插件运行带有param的小马驹任务

参数不是来自cmd。

'use strict';

var gulp = require('gulp');
var clean = require('gulp-clean');
var foal = require('gulp-foal');

//use "foal.task(...)" to define a foal-task.
foal.task('clean_some', function(cleanPath) {
  //"return" shall not be missed for running foal-task orderly.
  return gulp.src(cleanPath)
    .pipe(clean());
});

gulp.task('default', function(cb) {
  //use "foal.run(...)" to run your foal-task with param.
  foal.run(clean_some('test_path'), cb);
});

您可以发送一个参数-dev或-prod,谢谢!它起作用了!另外,我可以在默认情况下为任务设置一些标志吗?例如,对于这个任务:gulp.task('build-dev',['translate-sass','translate coffee','translate slim','copy bower components','connect']),我更新了答案以使其更安全:在那个示例中,destination的默认值是
'dev'
,这也适用于其他标志;-)