我将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
答案 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'));
});