2016-07-12 3 views
3

Das ist meine Verzeichnisstruktur:schluck-rubin sass Fehler: müssen Muster liefern

Here

ich meinen Arbeitsplatz einrichten und richte ich Gulp Datei auf meinem Ordner-Format zu arbeiten, aber es arbeitet nicht richtig.

Das ist mein Gulp Datei:

var gulp  = require('gulp'), 
    sass  = require('gulp-ruby-sass'), 
    imagemin = require('gulp-imagemin'), 
    changed  = require('gulp-changed'), 
    browserSync = require('browser-sync'), 
    livereload = require('gulp-livereload'),  
    gp_concat = require('gulp-concat'), 
    gp_rename = require('gulp-rename'), 
    gp_uglify = require('gulp-uglify'), 
    watch = require('gulp-watch'); 


gulp.task('sass', function() { 
    gulp.src('./app/template/css/style_v1.scss') 
    .pipe(sass()) 
    .on('error', function (err) { console.log(err.message); }) 
    .pipe(gulp.dest('./dist/css')) 
    .pipe(livereload()); 
}); 

gulp.task('compress', function() { 
    gulp.src('./app/*.js') 
    .pipe(gp_concat('concat.js')) 
     .pipe(gulp.dest('dist')) 
     .pipe(gp_rename('script.min.js')) 
     .pipe(gp_uglify()) 
     .pipe(gulp.dest('./dist/js')); 
}); 

gulp.task('jpg', function() { 
    gulp.src('./template/img/**/*.*') 
     .pipe(changed('./dist/img/')) 
     .pipe(imagemin({ 
      progressive: true 
     })) 
     .pipe(gulp.dest('./dist/img/')); 
}); 

gulp.task('browser-sync', function() { 
    browserSync.init(['./dist/css/**', 'index.php'], { 
     server: { 
      baseDir: './', 
      index: 'index.php' 
     } 
    }); 
}); 

gulp.task('watch', ['sass', 'browser-sync','compress'], function() { 
    return watch('./app/template/css/style_v1.scss', function() { 
     gulp.src('./app/template/css/style_v1.scss') 
      .pipe(gulp.dest('build')); 
    }); 
}); 

Wenn ich gulp watch laufen es gibt diese:

(node:6668) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version. 
[08:42:23] Using gulpfile /var/www/html/evandro/sistema_metas/gulpfile.js 
[08:42:23] Starting 'sass'... 
[08:42:23] 'sass' errored after 7.09 ms 
[08:42:23] Error: must provide pattern 

Was ist das Problem?

Ich habe einen anderen Code, die CSS Watch funktioniert nicht, nur HTML, Was kann es sein?

Antwort

3

gulp-ruby-sass funktioniert anders als andere Schluck-Plugins. Sie übergeben es nicht an .pipe(). Wenn Sie einen Blick auf the documentation nehmen, sagt er folgendes:

Use gulp-ruby-sass instead of gulp.src to compile Sass files.

Das heißt, Sie es wie folgt verwenden:

var sass = require('gulp-ruby-sass'); 

gulp.task('sass', function() { 
    return sass('./app/template/css/style_v1.scss') 
    .on('error', function (err) { console.log(err.message); }) 
    .pipe(gulp.dest('./dist/css')) 
    .pipe(livereload()); 
}); 

Alternativ können Sie das gulp-sass Plugin verwenden statt gulp-ruby-sass. Es verwendet nicht die Ruby-Implementierung von SASS, sondern die C-Implementierung (libsass). Es ermöglicht Ihnen, .pipe() zu verwenden, wie Sie in der Regel für die meisten anderen großen Schluck Plugins würde:

var sass = require('gulp-sass'); 

gulp.task('sass', function() { 
    return gulp.src('./app/template/css/style_v1.scss') 
    .pipe(sass()) 
    .on('error', function (err) { console.log(err.message); }) 
    .pipe(gulp.dest('./dist/css')) 
    .pipe(livereload()); 
}); 
+0

Danke, perfekt gearbeitet, jetzt habe ich die Uhr sass überprüfen. – Shelon