2015-12-31 72 views
1

我都在該項目的頂部定義我的路徑,一飲而盡遍歷JSON對象

var paths = { 
    scripts: ['./js/main.js', './js/datetimepicker.js'], 
    styles: ['./stylesheets/style.scss', './stylesheets/datetimepicker/datetimepicker.css', './stylesheets/vis/vis.css'], 
    images: ['img/**/*'], 
    libs: ['./js/*.min.js', './img/*', './fonts/FontAwesome/*'], 
    compress: ['./css/**', './fonts/FontAwesome/**', './img/**', './js/main.min.js', './js/bootstrap.min.js'], 
    concat: [{ 
    'src': './web-src/js/services*.js', 
    'name': 'services.js' 
    }] 
}; 

我的問題是,當我打電話paths.concat[0].src我不得不指定我想要什麼指數在數組中。所以當我打電話給我的連續任務時,

gulp.task('concat', function() { 
    return gulp.src(paths.concat[0].src) 
    .pipe(concat(paths.concat[0].src)) 
    .pipe(gulp.dest('./dist/')); 
}); 

定義的路徑沒有幫助。什麼是循環任務的「最佳實踐」方式?

感謝

+0

什麼是 「JSON變量」? –

+0

可能不是正確的名稱,但我將json對象分配給一個變量。 –

回答

2

我做到了這一點使用,

gulp.task('concat', function() { 
    return paths.concat.forEach(function(obj) { 
     return gulp.src(obj.src) 
      .pipe(concat(obj.name)) 
      .pipe(rename(function (path) { 
       path.basename += '.min'; 
       return path; 
      })) 
      .pipe(gulp.dest('./web/js')); 
    }); 
});