我正在尝试通过向其添加gulp-babel来稍微修改gulp样板。
我在gulpfile中的Javascript任务中添加了babel预设:
var jsTasks = lazypipe()
.pipe(header, banner.full, {
package: package
})
.pipe(optimizejs)
.pipe(dest, paths.scripts.output)
.pipe(rename, {
suffix: '.min'
})
.pipe(babel, {
presets: ['es2015']
})
.pipe(uglify)
.pipe(optimizejs)
.pipe(header, banner.min, {
package: package
})
.pipe(dest, paths.scripts.output);
我得到的错误:
[13:47:27] Finished 'default' after 429 ms
error!
events.js:174
throw er; // Unhandled 'error' event
^
Error: write callback called multiple times
at DestroyableTransform.afterTransform (/Users/mac/dev/gulp-boilerplate/node_modules/readable-stream/lib/_stream_transform.js:84:31)
at Stream.<anonymous> (/Users/mac/dev/gulp-boilerplate/node_modules/gulp-flatmap/index.js:62:9)
at Stream.emit (events.js:189:13)
at Stream.EventEmitter.emit (domain.js:459:23)
at Pumpify.handleEnd (/Users/mac/dev/gulp-boilerplate/node_modules/duplexer/index.js:81:21)
at Pumpify.emit (events.js:194:15)
at Pumpify.EventEmitter.emit (domain.js:459:23)
at endReadableNT (/Users/mac/dev/gulp-boilerplate/node_modules/readable-stream/lib/_stream_readable.js:1010:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
at DestroyableTransform.EventEmitter.emit (domain.js:454:12)
at DestroyableTransform.afterTransform (/Users/mac/dev/gulp-boilerplate/node_modules/readable-stream/lib/_stream_transform.js:84:17)
at Stream.<anonymous> (/Users/mac/dev/gulp-boilerplate/node_modules/gulp-flatmap/index.js:62:9)
[... lines matching original stack trace ...]
at process._tickCallback (internal/process/next_tick.js:63:19)
没有gulp-babel,我没有收到该错误,但随后我无法在代码中使用ES6。 究竟是什么引起回调错误,如何解决?