我正在尝试传入包含要编译为单个 CSS 文件的 Sass 文件的目录数组。目录数组看起来是正确的方法,但我收到如下错误消息:
Individual stylesheets must be in the sass directory.
[09:54:41] Plumber found unhandled error:
Error in plugin 'gulp-compass'
Message:
Compass failed
我的 guplfile.js 如下:
var gulp = require('gulp'),
compass = require('gulp-compass'),
watch = require('gulp-watch'),
notify = require('gulp-notify'),
debug = require('gulp-debug'),
plumber = require('gulp-plumber'),
sourcemaps = require('gulp-sourcemaps'),
runSequence = require('run-sequence');
var config = {
sass: {
files: [
'css/**/*.scss',
'../mytheme/css/**/*.scss'
],
includePaths: [
'node_modules'
],
outputStyle: {
watch: 'expanded',
},
outputPath: 'build/css'
}
};
gulp.task('sass', function () {
return gulp.src(config.sass.files)
.pipe(plumber())
.pipe(debug({title: 'Debug:'}))
.pipe(compass({
sass: 'css',
css: config.sass.outputPath,
debug: true,
import_path: config.sass.includePaths,
style: config.sass.outputStyle.watch,
sourcemap: true
}))
.pipe(sourcemaps.write())
.pipe(notify('Compiled: <%= file.relative %>!'));
});
/**
* Default task
*/
gulp.task('default', ['watch']);
如果我删除 files 数组中的第二个位置,则 gulp 编译没有问题。所以这只是如何允许编译第二个位置 - 假设我需要用 sass: 'css' 和/或 css: config.sass.outputPath 做更多的事情。
非常感谢任何帮助。