如何在Gulp任务错误callback中显示堆栈跟踪?

当我在我的一个任务中出错时:

gulp.task('foo', function(onDone) { onDone('It did not work'); }); 

我得到一个很大的不相关的堆栈跟踪:

 [13:10:25] 'foo' errored after 4.27 s [13:10:25] Error: It did not work at formatError (C:\npm\node_modules\gulp\bin\gulp.js:169:10) at Gulp.<anonymous> (C:\npm\node_modules\gulp\bin\gulp.js:195:15) at emitOne (events.js:96:13) at Gulp.emit (events.js:188:7) at Gulp.Orchestrator._emitTaskDone (D:\Code\my-project\node_modules\orchestrator\index.js:264:8) at D:\Code\my-project\node_modules\orchestrator\index.js:275:23 at finish (D:\Code\my-project\node_modules\orchestrator\lib\runTask.js:21:8) at cb (D:\Code\my-project\node_modules\orchestrator\lib\runTask.js:29:3) at D:\Code\my-project\gulp-tasks\insert-docs.js:116:25 at Request._callback (D:\Code\my-project\gulpfile.js:112:17) 

我怎么不显示? 我宁愿使用内buildgulp特性而不是第三方模块或console.error()

Gulp 检查传递给callback的Error对象上是否存在showStack属性 。 这可能是为了在gutil.PluginError上支持该选项而gutil.PluginError ,但可以与任何Error对象一起使用:

 function withError(msg) { var err = new Error(msg); err.showStack = false; return err; } gulp.task('foo', function(done) { done(withError('It did not work')); });