样式表必须在gulp-compass的sass目录中出错

时间:2015-04-07 00:06:11

标签: gulp compass gulp-compass

我将grunt项目转换为gulp,并且遇到了gulp-compass的问题。

我们将scss个文件分散在源代码中,而不是全部放在一个目录中。这个结构对于这个项目很重要,并且无法改变。

我认为我尝试设置配置的方式与我执行grunt项目的方式相同,但是a)我很困惑为什么它会期望单个目录没有任何内容与实际的gulp.src路径有关,而b)无论如何我都无法正常工作。

// Compass
gulp.task('compass:dev', function() {
    return gulp.src(appPath + '/**/*.scss')
        .pipe(compass({
            project: path.join(__dirname, rootPath),
            css: distPath + '/css',
            sass: appPath + '/'
        }))
        .pipe(gulp.dest(distPath + '/css'));
});

错误是:

[17:02:20] Starting 'compass:dev'...
[17:02:21] Individual stylesheets must be in the sass directory.


events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: Compass failed

1 个答案:

答案 0 :(得分:2)

经过大量的玩耍后,我终于能够使用add_import_path选项:

// Compass
gulp.task('compass:dev', function() {
    return gulp.src(appPath + '/**/*.scss')
        .pipe(plugins.compass({
            css: distPath + '/css',
            sass: path.join(__dirname, appPath) + '/',
            add_import_path: path.join(__dirname, appPath) + '/'
        }))
        .pipe(gulp.dest(distPath + '/css'));
});