最近,无论如何我无法分辨,我严格执行任务的gulp编译时间变得非常慢。他们现在每次编译平均大约18-20秒,这是非常缓慢的。我尝试从ruby-sass切换到node-sass,但node-sass似乎并不支持我需要的几乎任何3.3 sass语法(特别是map)。在他们全部在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
答案 0 :(得分:3)
这个问题的答案与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
答案 1 :(得分:1)
我也遇到了node-sass和ember-cli的同样问题。什么真正杀死我们的编译时间是使用@extends
指令。他们每个人都在编译时加入了大约10秒钟。