要导入的文件未找到或不可读:指南针 - Gulp环境

时间:2014-10-23 07:57:39

标签: sass compass-sass gulp

我已经建立了一个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。当我尝试导入指南针时,它就会中断。

1 个答案:

答案 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/_/'))
})