2015-02-23 47 views
2

我想遍历所有的凉亭软件包。所有以sass文件作为主要文件的文件,我都想要包含在includePaths中。gulp-sass不会导入使用凉亭安装的bootstrap

我使用的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

我的问题原来是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]); 
} 

而且固定它。希望这可以帮助别人:)