2017-05-30 16 views
0

我有以下gulp任務返回一個流。它在gulp 3.9.1中正常工作,但轉換爲gulp 4.0,我得到:儘管返回流Gulp 4.0信號異步完成錯誤

您忘記了信號異步完成?

const gulp = require('gulp'); 
const gulpif = require('gulp-if'); 
const plumber = require('gulp-plumber'); 
const rename = require('gulp-rename'); 
const buffer = require('vinyl-buffer'); 
const es = require('event-stream'); 
const browserify = require('browserify'); 
const browserifyInc = require('browserify-incremental'); 
const babelify = require('babelify'); 
const browserSync = require('browser-sync').create(); 

// Incrementally building the js 
gulp.task('build-js-inc',() => 
    es.merge.apply(null, paths.entry.scripts.map(script => { 
    const b = browserify(Object.assign({}, browserifyInc.args, 
     { 
     entries: script, 
     extensions: ['.jsx'], 
     debug: true 
     } 
    )); 

    browserifyInc(b, { cacheFile: './browserify-cache.json' }); 

    return b.transform(babelify) 
     .bundle() 
     .on('error', handleErrors) 
     .pipe(source(`./${script.split('/')[script.split('/').length - 1]}`)) 
     .pipe(buffer()) 
     .pipe(plumber()) 
     .pipe(rename(path => { 
      path.extname = '.bundle.js'; 
     })) 
     .pipe(gulp.dest('public/js')) 
     .pipe(gulpif('*sw.bundle.js', gulp.dest('public'))) 
     .pipe(browserSync.reload({ stream: true })); 
    })) 
); 

我已經嘗試添加done()我的上游的任務,但它仍然錯誤,因爲我想在這裏起源,並通過propogates依靠這一個整理我的後續任務。

回答

0

問題最終成爲模塊event-stream。顯然它是no longer being maintained

@phated:

支持事件流過時。一切都應該轉移到through2等。也許只是完全棄用這個模塊?

我切換到merge-stream,現在我的gulpfile工作正常。