Gulp:批量添加一系列任务

时间:2015-04-10 23:38:36

标签: javascript gulp

我正在编写一组可以重复使用的gulp任务。目前,我从客户端收到gulp对象,然后在此实例中添加每个任务。

我想知道是否有办法向Gulp发送一系列任务对象,然后Gulp本身可以为我添加这些项目吗?

从客户端接收Gulp对象听起来很奇怪。如果它有一个我不应该访问的任务怎么办?

目前我有:

var gulp = require('gulp');
var opts = {};
require('_base.gulpfile.js')(gulp, opts);

这就是我正在寻找的

var gulp = require('gulp');
var opts = {};
var tasks = require('gulp-util-tasks')(opts);

gulp.addTasks(tasks);

2 个答案:

答案 0 :(得分:0)

我可以使用的唯一方法是创建一个文件来获取这些模块并加载该文件。

答案 1 :(得分:0)

不完全符合您的要求,但类似的东西可能会解决您的问题。

var gulp-util-tasks = function (options) {
  var start = Date.now();

  console.log('Start task' + options.taskName);

  gulp.src(options.source)
...
    .pipe(gulp.dest(options.dest))
    .pipe(notify(function () {
      console.log('END task ' + options.taskName + ' in ' + (Date.now() - start) + 'ms');
    }));
}

var options = {
   taskName: "test",
   source: "..",
   dest: '...'
};

gulp.task('default', function () {
  var tasks = ['gulp-util-tasks', ...]
  for (var i = 0; i < tasks.length; i++) {
      eval(tasks[i] + '(options)');
  }
});