# 开发指南篇 5:Vue API 盲点解析
在了解了一些实用的开发技巧和编码理念后,我们在项目的开发过程中难免也会遇到因为不熟悉 Vue API 而导致的技术问题,而往往就是这样的一些问题消耗了我们大量的开发时间,造成代码可读性下降、功能紊乱甚至 bug 量的增加,其根本原因还是自己对 Vue API 的 “无知”。
本文将介绍 Vue 项目开发中比较难以理解并可能被你忽视的 API,唯有知己知彼,才能百战不殆。
# API 解析
# 使用 performance 开启性能追踪
performance API 是 Vue 全局配置 API 中的一个,我们可以使用它来进行网页性能的追踪,我们可以在入口文件中添加:
if (process.env.NODE_ENV !== 'production') {
Vue.config.performance = true;
}
来开启这一功能,该 API(2.2.0 新增)功能只适用于开发模式和支持 performance.mark API 的浏览器上,开启后我们可以下载 Vue Performance Devtool 这一 chrome 插件来看查看各个组件的加载情况,如图:

从中我们可以清晰的看到页面组件在每个阶段的耗时情况,而针对耗时比较久的组件,我们便可以对其进行相应优化。
而其在 Vue 源码中主要使用了 window.performance 来获取网页性能数据,其中包含了 performance.mark 和 performance.measure。
- performance.mark 主要用于创建标记
- performance.measure 主要用于记录两个标记的时间间隔
例如:
performance.mark('start'); // 创建 start 标记
performance.mark('end'); // 创建 end 标记
performance.measure('output', 'start', 'end'); // 计算两者时间间隔
performance.getEntriesByName('output'); // 获取标记,返回值是一个数组,包含了间隔时间数据
熟练的使用 performance 我们可以查看并分析网页的很多数据,为我们项目优化提供保障。除了上述介绍的两个方法,我们还可以使用 performance.timing 来计算页面各个阶段的加载情况,关于 performance.timing 的介绍可以查看我之前写的一篇文章:利用 Navigation Timing 测量页面加载时间
# 使用 errorHandler 来捕获异常
在浏览器异常捕获的方法上,我们熟知的一般有:try ... catch 和 window.onerror,这也是原生 JavaScript 提供给我们处理异常的方式。但是在 Vue 2.x 中如果你一如既往的想使用 window.onerror 来捕获异常,那么其实你是捕获不到的,因为异常信息被框架自身的异常机制捕获了,你可以使用 errorHandler 来进行异常信息的获取:
