# components

## 介绍

不存在任何业务的公共组件，或者重写的组件库组件。

## 结构

### globRegisterComponents.ts

全局注册公共组件，需要将要注册的组件赋值到 componentsList 中。

#### 示例代码

```typescript
import BaseButton from './BaseButton'

const componentsList = [BaseButton]
```

## 组件

组件中要包含 name 属性，命名规则为`PascalCase`,保持系统中的唯一性。

### 命名规范

组件名称写在文件夹上，命名规则为`PascalCase`,并且注释清楚 props 以及事件，描述使用场景。

#### 基础组件

基础组件应该权益以一个特定的前缀开头，比如`Base`、`App`、`V`。我们约定使用`Base`。例如 ‘BaseButton.vue’。

#### 单例组件名

只应该拥有单个活跃实例的组件应该以 The 前缀命名，以示其唯一性。这些组件永远不接受任何 prop，如果有必要添加 prop，那就表明这是一个可复用组件。例如 ‘TheHeader’。

### index.ts

组件统一由 index.ts 做导出，即使只有一个组件。

### index.module.less

样式文件统一命名，使用 css module，并且复用 global.less 中的变量，不允许在.vue 文件中使用`<style>`标签来写样式。
