Gulp突然编译得非常慢

最近,我无法理解,因为严格的stream水作业,我的编译时间变得非常慢。 他们现在平均每个编译18-20s,这是死亡缓慢。 我尝试从ruby-sass切换到node-sass,但是node-sass似乎不支持几乎任何我需要的(特别是映射)3.3 sass语法。 在他们全部在ms范围之前; 我从来没有记得他们甚至超过1秒。

这是我的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); }); 

这是一个最近的吞咽运行,也是:

 [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 

这个答案与Gulp无关,而是与链接到这个https://github.com/sass/sass/issues/1019的注释中可能的重复相关。

我暂时通过从Susy 2.x切换回Susy 1.x来解决这个问题。 Per Kaij在上面提到的链接中的评论,基本上Susy中的每一个span()都使用了编译时间:切换回Susy 1.x使我从编译时间大约24s到编译时间达到4s。 我不确定这个问题是否可以与其他框架相关,但我认为可能是这样。

编辑:有关Susy的具体问题的进一步信息: https : //github.com/ericam/susy/issues/325#issuecomment-47670013

我也遇到了与sass和ember-cli相同的问题。 真正杀死我们的编译时间的是@extends指令的使用。 他们每个人在我们编译的时候增加了大约10秒。