如何设置Gulp来处理不同文件夹上的相同任务?

时间:2015-08-13 18:52:48

标签: javascript gulp

我只需要在两个不同的文件夹上运行一些gulp任务。

我的项目文件夹结构示例:

- Project
  - componentA
  - componentB
  - componentC
  - componentD

我需要在componentAcomponentB而不是C/D执行任务。

目前我正在使用以下脚本。

您能否告诉我如何为B添加任务?

你知道任何替代/更好的方法吗?

 // include gulp
    var gulp = require('gulp');

    // include plug-ins
    var jshint = require('gulp-jshint');

    // JS hint task
    gulp.task('jshint', function () {
        gulp.src('./componentA/**/*.js')
          .pipe(jshint())
          .pipe(jshint.reporter('default'));
    });

2 个答案:

答案 0 :(得分:1)

以下使用匹配直接排除C和D

(注意我使用concat进行测试)

var gulp = require('gulp');
var concat = require('gulp-concat');

var files = './component!(C|D)/*.txt';

gulp.task('test', function(){
  gulp.src(files)
  .pipe(concat('all.txt'))
  .pipe(gulp.dest('./'));
});

对你而言

'./component!(C|D)/**/*.js'

答案 1 :(得分:0)

我能够使用以下代码解决此问题。 欢迎任何更好的方式或替代方法。

// include plug-ins
var jshint = require('gulp-jshint');

var folders = [
'./componentA/**/*.js',
'./componentB/**/*.js'
];


// JS hint task
gulp.task('jshint', function () {
    gulp.src(folders)
      .pipe(jshint())
      .pipe(jshint.reporter('default'));
});