2015-04-05 73 views
2

我想运行一个任务gulp生成更多的样式表。所有都是平等的只会改变其中一个包含不同变量值的进口。生成多个样式表来吞噬

| -- src/ 
    | -- less/ 
      | -- colors/ 
       |-- blue.less 
       |-- red.less 
      | -- main.less 
| -- dist/ 
    | -- css/ 
      | -- blue.css 
      | -- red.css 

main.less文件看起来像这样:

@import <color> 

/* more code... */ 

凡应改为:red.lessblue.less ...

一旦所做的相应导入应生成css文件:red.css,blue.cs小号 ...

回答

1

我用了一个循环,但如果它是最好的解决办法:

gulp.task('less', function() { 
 
    for (var color in data.colors) { 
 
     gulp.src(['src/less/colors/' + data.colors[color] + '.less', 'src/less/reason.less']) 
 
     .pipe(concat('style-' + data.colors[color] + '.less')) 
 
     .pipe(less({ 
 
      paths: [path.join(__dirname, 'src', 'less')], 
 
      plugins: [autoprefix, cleancss] 
 
      
 
     })) 
 
     .pipe(gulp.dest(path_css)); 
 
    } 
 
});