web前端面试题附答案024-线上样式出问题了,怎么快速解决?

在很长一段时间里,我么都遵循着本地开发,测试,上准生产,上线的线条,然后如果线上出问题了,再开始追责,测试同学和开发同学要责任共担,但如果是2个团队,最终还是要区分每个团队要扣掉多少分。

        但大的部门是由一个个小团队组织起来的,扣分其实都不愿意,所以几分钟以内可以解决,不造成重大损失,可以放过去,而且能够快速解决的这个人大家也会认为是那个团队必不可少人。就算问题是他搞出来的,至少他熟悉代码,熟悉流程,可以在最短的时间内解决问题,走个小测试,然后再上线。要知道,很多团队,上线也是个麻烦事,部署,编译,别说5分钟,一激动,半个小时都搞不好。那么大家一般都是怎么搞的呢?

1、老规矩

        什么是老规矩呢,就是出了问题,开始排查,拿到必现的步骤,找到那块CSS样式,发现是哪里不对了,是不是打包时候错了,还是就是开发流程缺失,还是就是开发的时候疏忽了,测试同学也没测到位。

        复现了以后呢,就开始改,觉得没问题了,赶紧测一测,开始走上线的那个流程。文件该覆盖的覆盖,版本号该升级的升级

2、新思路

        我的新思路就是css样式的可覆盖性,优先级高的css样式可以覆盖掉优先级低的css样式。

        首先我们需要一个配置平台,平台用来存放我们要写的优先级较高的CSS样式,这些样式平时是不需要的,而一旦发现线上有样式问题的时候,我们就开始在这个平台写样式较高的,或者缺失的那部分样式。

        既然有了高级样式,也有了平台,那么这就需要这个平台提供一个接口,供我们的HTLM落地页去调用这个接口。

        接口返回高级样式后,以模板语言的形式,填充到HTML的style标签内,填充后即可起到高级覆盖低级的作用。画个图吧

        

        更直白的描述就是,一旦发现有问题了,找到哪里样式错误了,比如color:red;不应该是红色,那么我们在配置平台编写color:blue !important;的样式,然后落地页发送请求,把color: blue !important;的样式请求回来,以覆盖错误样式的思路。 

3、2种方式对比

        对于第二种思路虽然成熟,但链条过多,而且HTML落地页很难知道什么时候线上出问题了,我们需要他去请求高级的样式。所以就需要添加定时任务,一直去请求,这就造成了配置平台的负担。而且还需要对应添加一个配置平台,这平台就需要开发,需要部署机器等问题。而且一旦有新人入职,还需要学习更多的东西,造成一定困扰。

        但第一种思路虽然费事,就很简单,无需添加任何东西,就是改,就是上,干就完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

经海路大白狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值