У меня есть задача, которая зависит от предыдущей задачи, которая объединяет несколько потоков и возвращает результирующий поток. Задача, которая от нее зависит, никогда не работает.Задача 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
(потому что если я закомментировать эти строки, все работает отлично), но я до сих пор не могу понять, почему это мешает задача от работы.
Невозможно ответить на это, когда половина вашего кода - это только 'doStuff' и' doMoreStuff'. –
А интересно, я думал, что, должно быть, неправильно понял что-то в том, как я установил свою тестовую задачу. Я подробно расскажу о примерах, спасибо. – Tim