使用gulp-ruby-sass后Sass import无法正常工作

时间:2014-07-20 18:14:52

标签: sass gulp

我正在使用gulp-sass为我的项目编译SCSS。然后我决定切换到.sass以简化它。我切换到gulp-ruby-sass,但导入不起作用。这就是我所拥有的:

@import bootstrap/mixins

我的目录结构:

|-- app
|   |-- app.js
|   |-- app.scss
|   |-- app_controller.js
|   |-- app_controller_test.js 
|   |-- bootstrap
|   |   |-- _mixins.scss
|   |   |-- _normalize.scss
|   |   |-- _variables.scss

在我的gulpfile中:

gulp.task('css', function(){
gulp.src(['app.scss','./app/**/*.sass'])
    .pipe(plugins.rubySass())
    .pipe(plugins.concat('app.css'))
    .pipe(gulp.dest('./build'));
});

然后我收到了这个错误:

error ./main/main.sass (Line 1: File to import not found or unreadable: bootstrap/mixins.
Load paths:
/private/var/folders/kn/29d686ds16s31t8mp0957dt40000gn/T/gulp-ruby-sass

请帮我解决这个问题。谢谢!

2 个答案:

答案 0 :(得分:0)

应该是gulp.src(['app.scss','./app/**/*.scss'])而不是gulp.src(['app.scss','./app/**/*.sass'])吗?

答案 1 :(得分:0)

您需要定义加载路径:

gulp.task('css', function() {
  return gulp.src(['app.scss','./app/**/*.sass'])
    .pipe(plugins.rubySass({
      loadPath: [
        process.cwd() + '/app'
      ]
    }))
    .pipe(plugins.concat('app.css'))
    .pipe(gulp.dest('./build'));
});

您可以通过逗号分隔添加多个加载路径。函数process.cwd()用于获取gulpfile.js

的路径