我已经建立了一个Gulp环境,目的是用Compass编译和缩小SASS。
我创建了包含所有必需任务的gulpfile,我的所有软件包都已安装并运行,SASS正在编译和缩小绝对正常,直到我尝试添加:
@import "compass";
我的Mac上安装了Compass,并且安装了node_package,但是当我运行gulp任务时,我收到此错误:
error style.scss (Line 15: File to import not found or unreadable: compass
我无法解决这里的问题。 我在Stackoverflow上遇到过很多关于遇到同样问题的人的问题,而且我已经尝试了所有问题。
我尝试在Compass上安装--pre
版本,我尝试卸载Compass和SASS,然后重新安装它们,但没有。
以下是我的package.json
中的devDependencies:
"devDependencies": {
"gulp": "^3.8.8",
"gulp-compass": "^1.3.2",
"gulp-concat": "^2.4.1",
"gulp-minify-css": "^0.3.10",
"gulp-ruby-sass": "^0.7.1",
"gulp-uglify": "^1.0.1",
"gulp-util": "^3.0.1"
}
我的gulpfile.js
中的样式gulp任务:
gulp.task('styles', function () {
return gulp.src('../source/sass/style.scss')
.pipe(sass({sourcemap: true, sourcemapPath: 'style.css'}))
.on('error', function (err) { console.log(err.message); })
.pipe(minifyCSS())
.pipe(gulp.dest('../public/_/'));
});
最后是把所有事情放在一起的gulp任务:
gulp.task('default',['scripts', 'styles', 'watch']);
非常感谢任何帮助。正如我所说,一切都很好。监视任务运行并在进行更改时编译我的SASS和Javascript。当我尝试导入指南针时,它就会中断。
答案 0 :(得分:7)
您已经安装了 gulp-compass ,但是您在任务中没有使用它,所以它不应该工作。
由于您正在使用 gulp-ruby-sass ,我认为您应该使用其compass
选项并将其设置为true
,并删除未使用的< em> gulp-compass 模块。
你的任务看起来像这样:
gulp.task('styles', function () {
return gulp.src('../source/sass/style.scss')
.pipe(sass({ compass: true, sourcemap: true, sourcemapPath: 'style.css'}))
.on('error', function (err) { console.log(err.message) })
.pipe(minifyCSS())
.pipe(gulp.dest('../public/_/'))
})