Css 如何在gulp sass中编译多个主题?

Css 如何在gulp sass中编译多个主题?,css,sass,gulp-sass,node-sass,Css,Sass,Gulp Sass,Node Sass,我尝试使用相同的文件编译多个主题。我的文件夹结构如下 -styles green.scss red.scss -scss -control1.scss -control2.scss 我需要基于绿色和红色主题的control1和control2 css文件的输出 var gulp = require('gulp'); var sass = require('gulp-sass'); var config = {

我尝试使用相同的文件编译多个主题。我的文件夹结构如下

-styles
  green.scss
  red.scss
  -scss
     -control1.scss
     -control2.scss
我需要基于绿色和红色主题的control1和control2 css文件的输出

     var gulp = require('gulp');         
     var sass = require('gulp-sass');
     var config = {
        includePaths: [
          './styles/green.scss',
          './styles/red.scss'       
        ]       
    };
     gulp.src('./styles/scss/*.scss')
        .pipe(sass(config).on('error', sass.logError))
        .pipe(gulp.dest('./style/css/'));
我是gulp sass的新手,任何人请建议gulp sass或node sass中是否有生成多个主题的选项

我需要得到的输出为

-styles
 -css
   -green.control1.css
   -green.control2.css
   -red.control1.css
   -red.control2.css

我会将您的文件组织更改为下面的设置。接下来我将解释新文件:

-styles
  main-green1.scss
  main-green2.scss
  main-red1.scss
  main-red2.scss  

  - colors
    - green.scss
    - red.scss
  -controls
     -control1.scss
     -control2.scss
至于那些新的
.scss
文件。每个文件将导入一个颜色文件和一个控制文件。例如,
main-green1.scss
将是:

@import 'colors/green';
@import 'controls/control1';
@import 'colors/green';
@import 'controls/control2';
main-green2.scss
将是:

@import 'colors/green';
@import 'controls/control1';
@import 'colors/green';
@import 'controls/control2';
只要
green.scss
red.scss
中的变量名相同,就可以得到所需的结果。下面是一个更详细的示例:

绿色.scss

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}
red.scss

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}
control1.scss

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}
control2.scss

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}
您需要更改Gulp脚本以构建新的
main-
文件。编译的文件将是:

@import 'colors/green';
@import 'controls/control1';
@import 'colors/green';
@import 'controls/control2';
main-green1.css

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}
main-green2.css

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}
main-red1.css

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}
main-red2.css

$color: #00cc00;
$background: #003300;
$color: #e50000;
$background: #330000;
body {
  background-color: $background;
  color: $color;
}
body {
  background-color: $color;
  color: $background;
}
body {
  background-color: #00cc00;
  color: #003300;
}
body {
  background-color: #003300;
  color: #00cc00;
}
body {
  background-color: #e50000;
  color: #330000;
}
body {
  background-color: #330000;
  color: #e50000;
}