1注册组件
注册组件
  组件名
    1. 注册组件时，需要提供一个名作为组件名
    2. 在 DOM 中使用组件时，建议组件名的字母全小写，且包含连字符‘-’
      为了避免与未来HTML元素名冲突
    3. 在字符串模板或单个文件组件中定义组件时
      组件名可以使用 kebab-case，也可以使用 PascalCase
      如果使用kabab-case，则在使用处也需要使用kabab-case，如：<my-component-name>
      如果使用PascalCase，则在使用处既可以使用PascalCase，也可以使用kabab-case的写法，但例外情况是，在DOM中使用该组件时，只有 kebab-case 是有效的
      因此，定义组件名时，建议使用kabab-case的写法
  全局注册
    1. 通过应用实例身上的component方法注册全局组件
    2. 全局组件可以用在任何新创建的组件实例的模板中
    3. 全局注册的缺点：可能会造成了用户下载无谓的JS代码
  局部注册
    1. 使用组件的配置选项components注册局部组件
      首先声明一个普通的JS对象来定义组件
      然后在 components 选项中注册
    2. 对于components中的每个属性，属性名就是自定义元素名，属性值就是组件的选项对象
    3. 注意：局部注册的组件在其子组件中不可用
    4. 在模块系统中局部注册
      如：ES2015 模块