我正在创建一个gulp任务,在某些情况下可能会失败。
gulp.task('favicon', function () {
try {
require('child_process').execSync('icotool --version');
} catch( e ) {
var err = new Error( 'Unix bash and icotool required for generating favicon' );
throw err;
}
return gulp.src('', {read: false})
.pipe(shell([
'./generate-favicon.sh'
]));
});
当通过gulp运行我的任务并遇到错误时,错误将显示为相当丑陋。
我希望以一种方式呈现错误,例如通过例如jslint gulp-util' s PluginError
。
它实际上只是在那里创建一个PluginError
然后抛出它,但这看起来并不合适。
另一个不太好的解决方案是设置
err.showStack = false;
至少有一个更好的错误输出。 gulp.task.Error
会很好。
答案 0 :(得分:11)
从我看到的不是很好,从gulp抛出一个错误。但我发现这篇博客文章曾经为我工作过。
http://gotofritz.net/blog/geekery/how-to-generate-error-in-gulp-task/
修改:gulp-util
has been deprecated。相反,请使用the plugin-error
package。
我的例子:
var gulp = require('gulp');
var error = require('plugin-error');
gulp.task('deploy', function(cb) {
if(typeof(specialId) === 'undefined') {
var err = new PluginError({
plugin: 'deploy',
message: 'specialId is empty.'
});
}
}