Jam*_*ade 4 sass compass-sass gulp
我已经建立了一个Gulp环境,目的是用Compass编译和缩小SASS.
我创建了包含所有必需任务的gulpfile,我的所有软件包都已安装并运行,SASS正在编译和缩小绝对正常,直到我尝试添加:
@import "compass";
Run Code Online (Sandbox Code Playgroud)
我在Mac上安装了Compass,并且安装了node_package,但是当我运行gulp任务时,我收到此错误:
error style.scss (Line 15: File to import not found or unreadable: compass
Run Code Online (Sandbox Code Playgroud)
我无法解决这里的问题.我在Stackoverflow上看到了很多关于遇到同样问题的人的问题,我已经尝试了一切.
我已经尝试--pre在Compass上安装该版本,我已经尝试卸载Compass和SASS,并重新安装它们,但没有.
以下是我的devDependencies package.json:
"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"
}
Run Code Online (Sandbox Code Playgroud)
我的风格gulp任务gulpfile.js:
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/_/'));
});
Run Code Online (Sandbox Code Playgroud)
最后是把所有东西放在一起的gulp任务:
gulp.task('default',['scripts', 'styles', 'watch']);
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.正如我所说,一切都很好.监视任务运行并在进行更改时编译我的SASS和Javascript.当我尝试导入Compass时,它就会中断.
你已经安装了gulp-compass,但你没有在你的任务中使用它,所以它不应该工作.
由于你正在使用gulp-ruby-sass,我认为你应该使用它的compass选项并将其设置为true,并删除未使用的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/_/'))
})
Run Code Online (Sandbox Code Playgroud)