使用 vue 周边

vue-devtools

浏览器插件,让你能够实时编辑数据 property 并立即看到其反映出来的变化。另一个主要的好处是能够为 Vuex 提供时间旅行式的调试体验。

vue-performance-devtool

一个用于检查vue组件性能的浏览器插件。

vue-cli

vue-cli 是 vue 开发的标准工具,提供了交互式的项目脚手架,集成了 webpack 和丰富的官方插件集合。

vue-router

vue 官方路由管理器,支持嵌套的路由/视图表以及模块化的、基于组件的路由配置。

vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

axios

Axios是一款 promise 化的HTTP客户端,支持在浏览器和 Nodejs 环境中使用。

element-ui

elementUI 是一款基于 Vue 2.0 桌面端中后台组件库。

iview

iview 是一套基于 Vue 的高质量 UI 组件库,主要服务于 PC 界面的中后台产品。

Ant Design Vue

Ant Design Vue 是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品。

数据初始化

明确定义的数据模型更加适合 Vue 的数据观察模式。建议在定义组件时,在 data 选项中初始化所有需要进行动态观察的属性。

验证 props 属性

在声明 props 属性时明确 props 的类型(type),是否必须(required)和默认值(default) 或通过 validator 方法进行验证,如果有一个需求没有被满足,则 Vue 会在开发环境中的浏览器控制台中警告你。

组件间通信 & 应用状态管理

在跨父子组件进行通信时,可以使用 Event Bus 模式 或者使用 Vuex

代码分割 - Code Splitting

  • 分离业务代码和第三方库
  • 避免将所有组件都注册为全局组件,按需加载

使用 mixin 扩展组件功能

混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。混入可以大大提升代码的可复用性。

使用上 vue 自带的修饰符

在 v-on 绑定的事件处理程序中使用事件/按键/系统修饰符可以减少代码量。

在 beforeDestroy 生命周期销毁定时器

在 beforeDestroy 生命周期销毁定时器以减少对性能的消耗。

为组件样式设置作用域 scope

  • 使用 reset.css 统一浏览器样式
  • 在设置组件样式时使用 css scoped 以减少对同名样式之间互相影响。

始终为列表渲染提供唯一的key值

为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key attribute。建议尽可能在使用 v-for 时提供 key attribute,除非遍历输出的 DOM 内容非常简单,或者是刻意依赖默认行为以获取性能上的提升。

使用 keepAlive 组件以获得更好的性能

在动态组件上使用 keep-alive,当这些组件之间互相切换的时候,keep-alive 会想保持这些组件的状态,以避免反复重渲染导致的性能问题。

避免直接修改 DOM

Vue 采用了 mvvm 的模型设计,支持数据与模板之间的数据监听与模板渲染,直接操作 DOM 打破了框架的设计模式,除非有十分明确的需求,否则最好通过驱动数据变动来影响视图变化。