2016-06-15 2 views
0

Что мне не хватает? Gulp оставляет без ошибок после моей зависимой задачи. styles не продолжается после styles-clean:gulp quitting после зависимой задачи

var args = require('yargs').argv; 
var config = require('./gulp.config')(); 
var del = require('del'); 
var gulp = require('gulp'); 
var $ = require('gulp-load-plugins')({lazy: true}); 

gulp.task('styles', ['clean-styles'], function() { 
    log('Compiling less...'); 
    return gulp 
     .src(config.less) 
     .pipe($.less()) 
     .on('error', errorLogger) 
     .pipe($.autoprefixer({browsers: ['last 2 version', '> 5%']})) 
     .pipe(gulp.dest(config.temp)); 
}); 

gulp.task('clean-styles', function(done){ 
    var files = config.temp + '**/*.css'; 
    clean(files, done); 
}); 

// ------------- 
function errorLogger(error) { 
    log(error); 
} 
function clean(path, done) { 
    log('Cleaning: ' + $.util.colors.blue(path)); 
    del(path, done); 
} 
function log(msg) { 
    if (typeof(msg) === 'object') { 
    for (var item in msg) { 
     if (msg.hasOwnProperty(item)) { 
     $.util.log($.util.colors.blue(msg[item])); 
     } 
    } 
    } else { 
    $.util.log($.util.colors.blue(msg)); 
    } 
} 

Я проверил, как мой gulpfile (выше), и мой конфиг:

module.exports = function() { 
    var config = { 
    temp: './temp/', 
    alljs: [ 
     './src/**/*.js', 
     './*.js' 
    ], 
    less: './src/client/styles/styles.less' 
    }; 
    return config; 
}; 

ответ

0

Подумайте о том, что вы сказали. Если clean() останавливает процесс, то это [наиболее вероятно], где ваша проблема.

В этом случае ваша проблема связана с обратным вызовом done. Начиная с версии 2.0 пакет del больше не принимает обратный вызов ... поэтому он никогда не вызывается. Вместо этого он возвращает обещание. Вот документ ...

https://github.com/sindresorhus/del/releases/tag/v2.0.0

Смежные вопросы