1.发现问题
今天在某个群里看到,一个老哥说,他发现了一个vue官网的bug。
右面的小目录,往下滚动之后,最上面有一小部分无法正常显示。
如果把最上面的类似广告条的东西关掉,则可以恢复正常显示。
2.定位bug
打开控制台,找到侧边这个小目录的样式。
调整发现,基本就是top值的问题,调整top值即可。
直接在vue的官网源码repo中,搜索aside-container这个类,发现是搜不到的。
vue官网和vue的很多社区一样,用的是vitepress,所以现在有一个小疑问,这个bug究竟是在vue的官网repo改,还是vitepress呢?
我们在vitepress的源码repo中搜索,可以发现aside-container这个类的定位是fixed,而vue官网是sticky定位。
查找commit记录可以发现,vitepress在之前的某次commit已经将定位改为fixed : github.com/vuejs/vitep...
查找vue的官网repo的package.json文件,可以大致发现,官网所用的vitepress版本可能是比较靠前的。所以说,可能这个bug修复的话,应该是在vue官网的repo这边修复了,vitepress的版本已经在这之后迭代过。
3.修复bug
之后我在github提了issue,大概说了下我的想法:github.com/vuejs/docs/...
很快就有维护者来回复了:
我发现这位大佬,正好是vitepress的核心贡献者,应该对这些非常熟悉,他说是--vt-banner-height这里的事情。
--vt-banner-height从哪里来的呢?
那我们回过头来看一下原来的top值:
可以看到,--vt-banner-height这个值,可能是没有定义过的。
所以这个修复的话,可能会有两个思路:1.左面的值,定义出来/2.修改右面的值,改为70px。
改左面值的话,公共变量应该比较舒服,但是当时全局都没有定义过。
当时发现了这段代码,important用上了,所以第一次commit就在这里把右面的值改出来了,效果倒是可以生效,但是优雅性可能不够高。
意料之中,后来回复我的老哥,还是选择了定义出左面的值,在这个pr中再次进行了修改:
之后就是merge pr,部署,很快的就修复了。
4.尾声
之前给vuex修过一个链接配置的问题( juejin.cn/post/726492... ), 算上这次,大概可以算给vue社区修复了两次bug:)
笔者本科大四,欢迎关注 github.com/heygsc