使用 gulp 构建 SASS 时设置变量?
Set a variable while buiding SASS with gulp?
我在 gulp
中使用以下内容从 SASS (*.scss) 文件构建 CSS 文件:
var gulp = require('gulp')
, sass = require('gulp-sass');
var colortheme = 'blue';
gulp.task('build_css', function() {
return gulp.src(['resources/assets/sass/app/' + colortheme + '.scss'])
.pipe(sass())
.pipe(gulp.dest('public/css/'));
} );
如您所见,我为每个颜色主题使用了不同的 .scss 文件。
我只想使用一个 .scss 文件,但能够以某种方式将颜色主题作为参数传递,因此它可以用作 .scss 文件中的变量。
这可能吗?
考虑到它是 SCSS,您可以使用 gulp-header
:
简单地将变量定义放在文件的开头
resources/assets/sass/app/theme.scss
.foo {
color: $themeColor;
font-family:$themeFont;
}
gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-sass');
var header = require('gulp-header');
var colortheme = 'blue';
var font = 'sans-serif';
gulp.task('build_css', function() {
return gulp.src(['resources/assets/sass/app/theme.scss'])
.pipe(header('$themeColor: ' + colortheme + ';\n' +
'$themeFont: ' + font + ';\n'))
.pipe(sass())
.pipe(gulp.dest('public/css/'));
});
我在 gulp
中使用以下内容从 SASS (*.scss) 文件构建 CSS 文件:
var gulp = require('gulp')
, sass = require('gulp-sass');
var colortheme = 'blue';
gulp.task('build_css', function() {
return gulp.src(['resources/assets/sass/app/' + colortheme + '.scss'])
.pipe(sass())
.pipe(gulp.dest('public/css/'));
} );
如您所见,我为每个颜色主题使用了不同的 .scss 文件。
我只想使用一个 .scss 文件,但能够以某种方式将颜色主题作为参数传递,因此它可以用作 .scss 文件中的变量。
这可能吗?
考虑到它是 SCSS,您可以使用 gulp-header
:
resources/assets/sass/app/theme.scss
.foo {
color: $themeColor;
font-family:$themeFont;
}
gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-sass');
var header = require('gulp-header');
var colortheme = 'blue';
var font = 'sans-serif';
gulp.task('build_css', function() {
return gulp.src(['resources/assets/sass/app/theme.scss'])
.pipe(header('$themeColor: ' + colortheme + ';\n' +
'$themeFont: ' + font + ';\n'))
.pipe(sass())
.pipe(gulp.dest('public/css/'));
});