我已经建立了一个 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 上看到了很多遇到同样问题的人的问题,我已经尝试了所有方法。
我已经尝试安装
--pre
Compass 上的版本,我尝试卸载 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。当我尝试导入 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/_/'))
})
关于sass - 找不到要导入的文件或无法读取 : compass - Gulp environment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523573/