新写的代码在旧系统上直接白屏,报语法解析失败。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,代码使用了较新的语法,构建配置没有包含对应系统版本。

碰到「可选链兼容」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。报错里带路径的,先去看那个路径在不在、权限对不对。

// browserslist
// last 2 versions, iOS >= 12
npm run build

同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。

备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

偶发问题先统计频率,一小时几次和一天一次,查法完全不同。

具体做法是,把目标环境版本写进构建配置;确认依赖库也已转译;在旧设备上实测。

最后用这个标准收尾,旧系统可以正常解析并运行页面,不再出现白屏与控制台语法报错。

作者 9823189