2016-11-22 4 views
0

У меня есть задача, которая зависит от предыдущей задачи, которая объединяет несколько потоков и возвращает результирующий поток. Задача, которая от нее зависит, никогда не работает.Задача Gulp с предварительным условием не начинается

Это моя зависимость:

var gulp = require('gulp'); 
var concat = require('gulp-concat'); 
var sourcemaps = require('gulp-sourcemaps'); 
var less = require('gulp-less'); 
var minifyCss = require('gulp-minify-css'); 
var merge = require('gulp-merge'); 
var cached = require('gulp-cached'); 

gulp.task('css:minify', function() { 
    var bootstrapLess = gulp.src(['plugins/bootstrap/less/bootstrap.less']) 
     .pipe(cached('bootstrap less')) 
     .pipe(less()) 
     .pipe(gulp.dest('plugins/bootstrap/less/')); 

    var aceLess = gulp.src(['plugins/ace-admin/less/ace.less']) 
     .pipe(cached('ace less')) 
     .pipe(less()) 
     .pipe(gulp.dest('plugins/ace-admin/less/')); 

    var ace = gulp.src(files.css.ace) 
     .pipe(cached('ace min')) 
     .pipe(sourcemaps.init()) 
     .pipe(minifyCss()) 
     .pipe(concat('aes.ace.min.css')) 
     .pipe(sourcemaps.write('./')) 
     .pipe(gulp.dest('Content/')); 

    var css = gulp.src(files.css.all) 
     .pipe(cached('aes.min')) 
     .pipe(sourcemaps.init()) 
     .pipe(minifyCss()) 
     .pipe(concat('aes.all.min.css')) 
     .pipe(sourcemaps.write('./')) 
     .pipe(gulp.dest('Content/')); 

    console.log('css minification in progress'); 

    return merge(bootstrapLess, aceLess, ace, css); 
});  

Задача, которая использует их следующим образом:

gulp.task('test', ['css:minify'], function() { 
    console.log('testing'); 
}); 

Я получаю следующий вывод:

[14:32:53] Starting 'css:minify'... 
css minification in progress 
Process terminated with code 0. 

css:minify задача никогда не сообщает что он закончил, и задача test никогда не записывает ничего на консоль , Мое предположение состояло в том, что зависимость вернет поток и что задача test будет работать, когда поток завершится. Что я сделал неправильно, что мешает этому?

Edit: кажется, что проблема заключается в concat в разрезах css:minify задач ace и css (потому что если я закомментировать эти строки, все работает отлично), но я до сих пор не могу понять, почему это мешает задача от работы.

+0

Невозможно ответить на это, когда половина вашего кода - это только 'doStuff' и' doMoreStuff'. –

+0

А интересно, я думал, что, должно быть, неправильно понял что-то в том, как я установил свою тестовую задачу. Я подробно расскажу о примерах, спасибо. – Tim

ответ

0

Оказалось, что проблема связана с gulp-merge. Когда я изменил его, вместо этого использовал merge-stream все работало, как ожидалось.

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