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
任務將在流完成時運行。我做了什麼錯誤防止了這種情況的發生?
編輯:看來,問題是css:minify
任務ace
和css
段內的concat
(因爲如果我註釋掉這些行一切工作正常),但我還是不明白爲什麼它可防止工作任務。
當你的代碼的一半是'doStuff'和'doMoreStuff'時,沒有辦法回答這個問題。 –
有趣的是,我想我一定誤解了我如何設置測試任務。我會填寫示例的細節,謝謝。 – Tim