# 事件总线

项目中对`事件总线`进行了简单封装，位于`src/base/bus.js`中。

在任何时候都不允许直接使用`mitt`或者其他类似的第三方库实现`事件总线`。

必须先在`src/base/bus.js`中进行定义，然后在`具体位置`引入`src/base/bus.js`中定义好的`事件总线定义`

```js
/**
 * 事件总线 定义
 */
import EventBus from './event-bus/EventBus';

/**
 * 定义event bus
 * 任意 event bus 的定义，必须添加 bus_ 前缀
 * @example
 * import { bus_themeChange } from './base/bus.js';
 * 
 * bus_themeChange.emit('light');
 * 
 * bus_themeChange.on((value) => {
 *  console.log(value); // light
 * });
 * 
 * setTimeout(() => {
 *  bus_themeChange.off();
 * }, 1000);
 */
export const bus_themeChange = new EventBus('theme_change');
```

> 事件总线中的`前缀`定义，不符合前面约定的`命名规范`，`事件总线定义`按照此文档进行命名。
