2016-06-15 53 views
0

我錯過了什麼?我的依賴任務後,Gulp正在退出,沒有錯誤stylesstyles-clean後不繼續:吞下戒菸後依賴任務

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回調。從v2.0開始,del軟件包不再接受回調......所以它永遠不會被調用。相反,它會返回一個承諾。這裏的文檔...

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