随着工作年限越来越高,越来越觉得闭门造车是一种非常不好的习惯,还是得多看看别人是怎么写代码的,毕竟人外有人嘛,所以我觉得多看看开源库的源码,是一种非常好的学习方式,比看视频还管用!!!
你想想,这些开源库的作者都是大厂的前端大佬,咱们直接看他们写的代码,学不到东西才怪呢~
Pinia
很多人都知道这个库,一个 Vue 的状态管理库,可以学学如何在 Vue 中去做状态管理,其实 Pinia 就是依赖了 Vue 的 API —— effectScope。并且 Pinia 的源码不算很多,就几个文件。
Vueuse
Vueuse 是一个 Vue3 的 Hooks 库,里面有非常多的超级好用的 Hooks 封装,如果你想学习如何去封装 Vue3 的 Hooks,那 Vueuse 肯定是第一选择!!!
sunshine-track
sunshine-track 应用于前端监控。sunshine-track 基于 行为上报,实现了 用户行为、错误监控、页面跳转、页面白屏检测、页面性能检测等上报功能。适用于 Vue、React、Angular 等框架
看这个库的源码,可以学习怎么去写一个前端监控的库,代码很好理解,适用于大部分前端程序员
pinia-plugin-persistedstate
pinia-plugin-persistedstate 是一个 Pinia 的持久化插件,看这个库的源码主要是好奇它是怎么给 Pinia 做持久化的,并且学习怎么去开发一个 Pinia 插件,源码很少,就几个文件
vxe-table
是的,我并没有去看 element、antd 那些组件库的源码,而是看 vxe-table 的源码,因为 vxe-table 的代码结构比较简单,看起来比较容易懂,而且代码写的比较接地气,适合大部分前端程序员学习 vue3 的组件封装,尤其是 Modal、Form 这些组件
web-vitals
这是一个谷歌推出的库,用来获取网页的性能参数,比如 FCP、FID、CLS、LCP、INP 等等,这个库代码很少,可以让你在短时间内学习怎么去计算网页的性能参数,下次面试官问你你就能从容回答了!
localForage
这是一个操作 indexedDB 的库,代码也很少,很容易看懂,从这个库能学如何去二次封装 indexedDB ,让使用者更方便地去操作 indexedDB~
Vue-demi
你可以理解为 Vue-demi 是一个 Vue 的转换器,无论是 Vue2 还是 Vue3 它都能兼顾!!源码就三个文件,太少了!!!