项目中碰到个问题,后台返回数据为null,但是之前代码没有做null的判断,导致使用该数据里属性值时报错
很快,在代码中定位到报错字段,加上可选链操作符( ?. )时,代码编译运行正常,但是到了打包的时候却报了个错误 Arrow function has a complexity of 18 complexity 导致打包失败,因为没碰到过,一直不知道这个报错什么意思,就一直调整非空判断的方法,结果一直都是出现这个错误,然后就开始各种查,发现了个关于复杂度的介绍
因为项目用的eslint来检测,看了下eslint配置,在代码中发现
rules: { complexity: [ 'error', { max: 16 } ] }
复杂度设置是16,前面改的代码之后复杂度为18超过了这个值,才导致打包失败。
最后修改下复杂度最大值就成功了。