gulp-sass不会导入用凉亭安装的bootstrap

时间:2015-02-23 17:59:16

标签: gulp bower gulp-sass

我想遍历我的所有凉亭套餐。所有这些都有sass文件作为主文件,我想在includePaths中包含gulp-sass。

我正在使用npm包main-bower-files成功获取主文件(我只过滤到scss文件)。

但是当我去编译时,我得到以下错误(因为现在引导程序是我唯一的一个):

stream.js:94
      throw er; // Unhandled stream error in pipe.
            ^
Error: file to import not found or unreadable: bootstrap

我的gulpfile的相关部分是

var load_paths = bower({
  base: path.join(__dirname, "bower_components"),
  filter: '**/_*.scss'
});

gulp.src(app_css_file)
.pipe(sass({
    includePaths: load_paths
}))
.pipe(concat('app.css'))
.pipe(gulp.dest('build/css'));

1 个答案:

答案 0 :(得分:1)

我的问题是main-bower-files为您提供了文件,而不是目录。咄。 Node-sass需要包含可导入文件的目录。

所以我必须稍微修改一下load_paths

for (var i=0; i<load_paths.length; i++){
  // we need to use the parent directories of the main files, not the files themselves
  // so ./bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss
  // becomes ./bower_components/bootstrap-sass-official/assets/stylesheets
  load_paths[i] = path.dirname(load_paths[i]);
}

并修复了它。希望这有助于其他人:)