2014-06-27 13 views
6

Kürzlich, aus keinem Grund kann ich sagen, meine Schluck kompilieren Zeiten für streng Sass Aufgaben geworden extrem langsam. Sie sind jetzt durchschnittlich 18-20 pro Kompilierung, was tödlich langsam ist. Ich habe versucht, von Ruby-Sass zu Node-Sass zu wechseln, aber Node-Sass scheint fast keine der 3.3 Sass-Syntax zu unterstützen, die ich brauche (speziell Maps). Bevor sie alle im ms-Bereich waren; Ich kann mich nicht erinnern, dass sie mehr als 1s waren.Gulp plötzlich kompilieren extrem langsam

Hier ist meine Aufgabe Datei für Sass:

var gulp   = require('gulp'); 
var sass   = require('gulp-ruby-sass'); 
var autoprefixer = require('gulp-autoprefixer'); 
var minifycss = require('gulp-minify-css'); 
var notify  = require('gulp-notify'); 
var rename  = require('gulp-rename'); 
var handleErrors = require('../util/handleErrors'); 
var browserSync = require('browser-sync'); 

gulp.task('styl', function() { 
    return gulp.src('styl/src/screen.scss') 
     .pipe(sass({sourcemap: false, style: 'compact'})) 
     .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4')) 
     .pipe(gulp.dest('styl/bld')) 
     .pipe(rename({suffix: '.min'})) 
     .pipe(minifycss()) 
     .pipe(gulp.dest('../bld')) 
     .pipe(notify({ message: 'Styles task complete' })) 
     .pipe(browserSync.reload({ stream: true, notify: false })) 
     .on('error', handleErrors); 
}); 

Hier ein aktueller schluck Lauf ist, auch:

[11:56:22] Starting 'setWatch'... 
[11:56:22] Finished 'setWatch' after 44 μs 
[11:56:22] Starting 'browserify'... 
[11:56:22] Running 'bundle'... 
[11:56:22] Starting 'uglify'... 
[11:56:22] Finished 'uglify' after 11 ms 
[11:56:22] Starting 'styl'... 
[11:56:24] Finished 'bundle' in 1.76 s 
[11:56:24] Finished 'browserify' after 1.76 s 
[11:56:38] Finished 'styl' after 16 s 
[11:56:38] Starting 'build'... 
[11:56:38] Finished 'build' after 15 μs 
[11:56:38] Starting 'browserSync'... 
[11:56:38] Finished 'browserSync' after 6.28 ms 
[11:56:38] Starting 'watch'... 
[11:56:38] Finished 'watch' after 46 ms 
[11:56:38] Starting 'default'... 
[11:56:38] Finished 'default' after 32 μs 
[BS] Proxy running. Use this URL: http://10.0.1.6:3002 
[11:56:45] Starting 'styl'... 
[BS] File Changed: screen.min.css 
[BS] Injecting file into all connected browsers... 
[11:57:05] Finished 'styl' after 20 s 
+0

Mögliche Duplikate: http://stackoverflow.com/questions/24350024/sass-change-watch-interval-to-be-compile-more-oft – piouPiouM

+0

Es ist auch nicht auf allen meinen Installationen passiert. Nur ein paar. – thesublimeobject

+0

@thesublimeobject Die verknüpfte Frage gibt die SCSS-Syntax an. – cimmanon

Antwort

3

Die Antwort auf diese nichts mit Gulp zu tun hat, sondern zu tun mit dem möglichen Duplikat in den Kommentaren, die auf diese https://github.com/sass/sass/issues/1019 verweist.

Ich habe dies vorübergehend behoben, indem ich von Susy 2.x zurück zu Susy 1.x gewechselt habe. Per Kaijs Kommentar in dem oben genannten Link, im Grunde jede Verwendung von span() in Susy absolut kompilieren Zeit: der Wechsel zurück zu Susy 1.x dauerte mich von ~ 24s Kompilierzeit auf ~ 4s Kompilierzeit. Ich bin nicht sicher, ob das gleiche Problem mit anderen Frameworks zu tun hat, aber ich nehme an, es könnte sein.

EDIT: Weitere Informationen zu diesem Thema, die spezifisch für Susy: https://github.com/ericam/susy/issues/325#issuecomment-47670013

1

Ich lief auch in das gleiche Problem mit Knoten-Sass und glut-cli. Was unsere Kompilierungszeit wirklich zunichte gemacht hat, war die Verwendung der @extends Direktive. Sie fügten jeweils ungefähr 10 Sekunden zu unserer Kompilierzeit hinzu.

+0

Bekam das gleiche Problem nach dem Hinzufügen von 20+ '@ extend', ohne dass es gut läuft. Danke, dass du mir die Führung gegeben hast, was das Problem war. – Hussard