摘要:
背景 今天突然碰到了一个兼容性需求,需要根据不同 macOS 版本,进行不同的兼容性处理。 没想到看似简单的需求,中间也经历了一番波折,好在最后解决了问题。 在此记录一下解决问题的过程,也方便其他有类似需求的同学参考。 获取系统类型 既然需要针对 mac 系统进行兼容性处理,首先需要区分系统类型,好 阅读全文
摘要:
前言 在日常开发中,经常会碰到包含有大量动效的需求。当一个页面包含有大量动效时,经常会出现卡顿、性能不佳的问题。 正所谓开发三天,优化两星期,为了优化这些动效,很多同学只能一点点抠代码,探寻加载时间点、渲染速度、资源体积等优化点的极限,前端、设计以及测试都疲于奔命。 古语有云,因材施教,话句话说,给 阅读全文
摘要:
当有人问起:你们的公司的这款应用用户体验怎么样呀?访问量怎么样?此时,你该怎么回答呢?你会回答:UV、PV 巴拉巴拉,秒开率、FP、TTI 巴拉巴拉。 那么,这些数据是哪里来的呢?显而易见,这些数据都来自前端监控系统。 前端监控的意义 当今时代,是一个快节奏的时代,应用的性能极大影响着用户的留存率, 阅读全文
摘要:
背景 事件的起因在于老板最近的两次“故障”,一次去年的,一次最近。共同原因都是脚手架在发布平台发布打包时出错,导致线上应用白屏不可用。 最神奇的是,事后多次 Code Review,结果还是没有发现任何能够导致该问题的 bug,最后推测有可能是服务器在发布打包的时候出了问题。 当老板第 N + 1 阅读全文
摘要:
聊聊 TypeScript 中的类型保护 在 TypeScript 中使用联合类型时,往往会碰到这种尴尬的情况: 如上所示,getSmallPet 函数中,既可以返回 Fish 类型的对象,又可以返回 Bird 类型的对象。由于返回的对象类型不确定,所以使用联合类型对象共有的方法时,一切正常,但是使 阅读全文
摘要:
众所周知,在组件式开发中,最大的痛点就在于组件之间的通信。在 Vue 中,Vue 提供了各种各样的组件通信方式,从基础的 props/$emit 到用于兄弟组件通信的 EventBus,再到用于全局数据管理的 Vuex。 在这么多的组件通信方式中,provide/inject 显得十分阿卡林(毫无存 阅读全文
摘要:
聊聊 Vue 中 axios 的封装 axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 作为一个优秀的 HTTP 库,axios 打败了曾经由 Vue 官方 阅读全文
摘要:
ElementUI 作为当前运用的最广的 Vue PC 端组件库,很多 Vue 组件库的架构都是参照 ElementUI 做的。作为一个有梦想的前端(咸鱼),当然需要好好学习一番这套比较成熟的架构。 目录结构解析 首先,我们先来看看 ElementUI 的目录结构,总体来说,ElementUI 的目 阅读全文
摘要:
Layout 布局 row 布局组件中的父组件,用于控制子组件。很简单的一个布局标签,主要通过 justify 和 align 控制子元素的对齐方式,使用 render 函数通过传入的 tag 属性控制生成的标签。 在这里推荐学习下 render 函数和 JSX 的写法,因为之后比较复杂的组件都是通 阅读全文
摘要:
由于之前的 Vue 项目打包成果物一直是嵌入集成平台中,所以一直没有关注过项目的 title。直到最近,突然有个需求,要求点击按钮在集成平台外新开一个页面,此时我才发现,原来我的项目的 title 一直是万年不变的 vue project 。理所应当的,这个问题被测试爸爸提了一个大大的缺陷。 犯了错 阅读全文