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

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时,它就会中断.

Bal*_*zar 7

你已经安装了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)