0

我正在尝试传入包含要编译为单个 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 做更多的事情。

非常感谢任何帮助。

4

0 回答 0