2014-06-27 23 views
6

Recentemente, per nessun motivo posso dire, il mio tempo di compilazione di gulp per attività rigorosamente sub è diventato estremamente lento. Ora hanno una media di circa 18-20 secondi per compilazione, che è mortalmente lento. Ho provato a passare da ruby-sass a node-sass, ma node-sass non sembra supportare quasi nessuna delle sintassi di sass 3.3, di cui ho bisogno (in particolare le mappe). Prima erano tutti nell'intervallo dei ms; Non ricordo mai che siano più di 1.Gulp improvvisamente compila estremamente lentamente

Ecco il mio file di attività per il 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); 
}); 

Ecco una corsa sorso recente, anche:

[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

Possibile duplicato: http://stackoverflow.com/questions/24350024/sass-change-watch-interval-to-be-compile-more-often – piouPiouM

+0

Inoltre non sta accadendo su tutte le mie installazioni. Solo alcuni. – thesublimeobject

+0

@thesublimeobject La domanda collegata specifica la sintassi SCSS. – cimmanon

risposta

3

La risposta a questo non ha nulla a che fare con Gulp, ma piuttosto a che fare con l'eventuale duplicato nei commenti che rimanda a questo https://github.com/sass/sass/issues/1019.

L'ho risolto temporaneamente passando da Susy 2.x a Susy 1.x. Il commento di Per Kaij nel collegamento di cui sopra, in pratica ogni utilizzo di span() in Susy sta assolutamente uccidendo il tempo di compilazione: il passaggio a Susy 1.x mi ha portato da ~ 24 secondi a compilare a ~ 4 secondi. Non sono sicuro se questo stesso problema sia riconducibile ad altri framework, ma presumo che potrebbe esserlo.

EDIT: Per ulteriori informazioni sul problema, specifico per Susy: https://github.com/ericam/susy/issues/325#issuecomment-47670013

1

Ho anche imbattuto in questo stesso problema con il nodo-sass e braci-cli. Quello che stava veramente uccidendo il nostro tempo di compilazione era l'uso della direttiva @extends. Ognuno di loro ha aggiunto circa 10 secondi al nostro tempo di compilazione.

+0

Ottenuto lo stesso problema dopo aver aggiunto 20+ '@ extend', senza che funzioni correttamente. Grazie per avermi dato l'esempio di quale fosse il problema. – Hussard