构建异常和中断处理
如何判断构建是否成功
- 在 CI/CD 的pipeline 或者发布系统需要知道当前的构建状态
- 每次构建完后输入
echo $? 获取错误码
webpack4 之前的版本构建失败不会抛出错误码(error code)
nodejs 中的 process.exit 规范
- 0 表示成功完成,回调函数中,err 为null
- 非 0 表示执行失败,回调函数中,err不为null,err.code 就是传给 exit 的数字
如何主动捕获并处理构建错误
- compiler 在每次构建结束之后会触发 done 这个hook
- process.exit 主动处理构建报错
// webpack 配置 plugin
plugins: [
function() {
this.hooks.done.tap('done', (stats) => {
if (stats.compilation.errors && stats.compilation.errors.length && process.argv.indexOf('--watch') == -1)
{
console.log('build error');
process.exit(1);
}
})
}
]
构建异常和中断处理
如何判断构建是否成功
echo $?获取错误码webpack4 之前的版本构建失败不会抛出错误码(error code)
nodejs 中的 process.exit 规范
如何主动捕获并处理构建错误