2014-06-27 18 views
6

Gần đây, không có lý do gì tôi có thể nói, thời gian biên dịch gulp của tôi cho các nhiệm vụ nghiêm ngặt đã trở thành cực kỳ chậm. Chúng bây giờ trung bình khoảng 18-20s mỗi biên dịch, mà là chết chậm. Tôi đã thử chuyển từ ruby-sass sang node-sass, nhưng node-sass dường như không hỗ trợ hầu như bất kỳ cú pháp 3.3 sass nào mà tôi cần (các bản đồ cụ thể). Trước khi chúng nằm trong phạm vi ms; Tôi không bao giờ nhớ họ thậm chí còn hơn 1s.Gulp đột nhiên biên dịch cực kỳ chậm

Đây là tập tin nhiệm vụ của tôi cho 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); 
}); 

Dưới đây là một hoạt động ngụm gần đây, cũng:

[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

Có thể trùng lặp: http://stackoverflow.com/questions/24350024/sass-change-watch-interval-to-be-compile-more-often – piouPiouM

+0

Nó cũng không xảy ra trên tất cả các cài đặt của tôi. Chỉ một số. – thesublimeobject

+0

@thesublimeobject Câu hỏi được liên kết chỉ định cú pháp SCSS. – cimmanon

Trả lời

3

Câu trả lời này không có gì để làm với Gulp, mà đúng hơn là để làm có thể trùng lặp trong các nhận xét liên kết tới số https://github.com/sass/sass/issues/1019 này.

Tôi tạm thời sửa lỗi này bằng cách chuyển từ Susy 2.x về Susy 1.x. Nhận xét của mỗi Kaij trong liên kết được đề cập ở trên, về cơ bản, mỗi lần sử dụng span() trong Susy là hoàn toàn giết thời gian biên dịch: chuyển đổi trở lại Susy 1.x đưa tôi từ thời gian biên dịch đến 24 giây. Tôi không chắc liệu vấn đề tương tự này có liên quan đến các khung công tác khác hay không, nhưng tôi cho rằng nó có thể xảy ra.

EDIT: Thông tin thêm về vấn đề này, cụ thể để Susy: https://github.com/ericam/susy/issues/325#issuecomment-47670013

1

Tôi cũng chạy vào vấn đề này cùng với nút-sass và ember-cli. Những gì đã thực sự giết thời gian biên dịch của chúng tôi là bất kỳ việc sử dụng chỉ thị @extends. Họ đã thêm khoảng 10 giây vào thời gian biên dịch của chúng tôi.

+0

Có cùng một vấn đề sau khi thêm 20+ '@ extend', mà không có nó chạy tốt. Cảm ơn đã cho tôi dẫn đầu của vấn đề là gì. – Hussard

Các vấn đề liên quan