样式表必须在 sass 目录错误 gulp-compass
stylesheets must be in the sass directory error with 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
经过大量尝试,我终于能够使用 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'));
});
我正在将一个 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
经过大量尝试,我终于能够使用 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'));
});