2015-08-28 7 views
7

Problem: Ich benutze gulp-sass und möchte einen load_path so definieren, dass ich nicht wirklich lange @ import Regeln für bower Abhängigkeiten, z.gulp-sass arbeiten für load_path Unterstützung?

@import "normalize" 

statt

@import "../../../../../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/normalize" 

Was ist der beste Weg, dies zu erreichen, wenn ich schluck-sass mit dem dem LibSass Motor sass Dateien zu verarbeiten verwendet?

+0

Mögliche doppelte: http://stackoverflow.com/questions/24870327/gulp-ruby-sass-unable-to-import-files – cimmanon

+0

Dies ist keine doppelte Frage, da der Entwickler in dem Beispiel gulp-ruby-sass benutzt, was sich von Schluck-Sass unterscheidet, da diese Variante nicht ruby ​​verwendet, sondern stattdessen libsass verwendet - eine Re-Implementierung von Sass in C++. – Timidfriendly

+0

Die Tatsache, dass die Sprache, in der der Sass-Compiler geschrieben wurde, irrelevant ist, funktioniert die Lösung? – cimmanon

Antwort

20

Nach kämpfen mit diesem selbst fand ich eine Option in schluck-Sass:

sass ({Include-: [‘./bower_components/bootstrap-sass/assets/stylesheets']})

Beispiel:

var gulp = require('gulp'), 
    sass = require('gulp-sass') 
    notify = require("gulp-notify"); 

var config = { 
    sassPath: './resources/sass', // store the sass files I create 
    bowerDir: './bower_components' 
} 

gulp.task('css', function() { 
    return gulp.src(config.sassPath + '/style.scss') 
    .pipe(sass({ 
     outputStyle: 'compressed', 
     includePaths: [ 
      './resources/sass', 
      config.bowerDir + '/bootstrap-sass/assets/stylesheets', 
      config.bowerDir + '/font-awesome/scss'] 
     }) 
     .on("error", notify.onError(function (error) { 
      return "Error: " + error.message; 
     }))) 
    .pipe(gulp.dest('./public/css')); 
});