是否有机会以警告变为错误的方式配置
ng build
?
这对于 CI 构建来说会很方便。我从其他构建工具中知道这一点,但还没有找到任何配置参数。
我还认为 Angular 应该提供一个选项来将警告作为构建错误进行处理。如果您不阻止警告到达主分支,一段时间后它们会变得越来越多,新开发人员就会忽略它们。
最初我认为只需检查命令的输出是否包含“警告”就可以很容易地找到解决方法,但事实证明这比预期要困难得多。问题是,通过这样做,您可以更改状态代码,然后管道不会再因错误而失败,例如
npm run build |& tee -a =~ "Warning" && exit 64
解决了问题,但也增加了一个新问题——当npm run build
出现错误时它不会失败。而且您当然不想在发生错误时抑制错误消息。
所以我的最终解决方案如下所示:
npm run build |& tee build.log;
result_code=${PIPESTATUS[0]}
if cat build.log | grep -q "Warning"; then
echo "Warning in build"
exit 64
fi
exit $result_code
不知道这是否仍然相关,但对于任何遇到这个问题的人来说,有可能将角度编译器警告作为错误发出。 此处的文档中进行了描述: https://angular.io/extended-diagnostics#configuration