0

我正在将一个 grunt 项目转换为 gulp,并且在gulp-compass.

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

gulp.src我想我会尝试以与执行 grunt 项目相同的方式设置配置,但是 a)我很困惑为什么它期望一个与实际路径无关的目录,并且 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
4

1 回答 1

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'));
});
于 2015-04-07T01:38:20.670 回答