【发布时间】:2016-05-28 09:09:33
【问题描述】:
我有一个这样的文件夹结构:
|- assets
|- sass
global.scss
_mixin.scss
_body.scss
_header.scss
_footer.scss
|- themes
blue.scss
base.scss
dark.scss
我想编译我的 sass 文件并从中获取这个 css 结构(最重要的是我想要单独的 css 文件作为我的颜色):
|- assets
|- cdd
global.css
|- themes
blue.css
base.css
dark.css
我正在使用这个 gulpfile.js 文件来编译它
'use strict';
var gulp = require('gulp'),
concat = require('gulp-concat'),
plumber = require('gulp-plumber'),
sass = require('gulp-sass');
// Gulp plumber error handler
function errorLog(error) {
console.error.bind(error);
this.emit('end');
}
// Compile Sass files into CSS
gulp.task('sass', function () {
return gulp.src('./assets/sass/**/*.scss')
// Sass - Compile Sass files into CSS
.pipe(sass({
outputStyle: 'expanded',
includePaths: ['./assets/sass/']
}))
.on('error', errorLog)
.pipe(gulp.dest('./assets/css'))
});
gulp.task('default', ['sass']);
它没有为我制作单独的颜色文件,颜色主题文件附加在 global.css 文件的末尾
【问题讨论】:
-
您可以尝试将您的主题从
gulp.src中排除为return gulp.src(['./assets/sass/**/*.scss', '!./assets/sass/themes/*.scss])。您还需要一个单独的任务来构建您的主题。 -
@andorx 谢谢你的意见;) sass 文件中的 import 命令重要吗?
-
当然,您必须从您的
global.scss文件中删除所有@import主题。如果您的主题中需要任何 mixins、vars,您应该在包含这些 mixin 的主题文件夹中创建新文件并将其导入到每个单独的主题文件中。