# IMWeb · UI

* React & Redux
* 专注管理后台
* **务必保证本地 node 在 8.x 版本，拥抱 es6**
* **提交代码必须拉分支**
* 发布周期，每周二、每周五

## 使用
安装
```bash
npm install imui --save
```
引入
```js
import { DatePicker } from 'imui';
ReactDOM.render(<DatePicker />, mountNode);

// 或者按需引用，打包的时候只会打包 tab
import Tab from 'imui/dist/tab/index';
```

## 开发

* 分支，主干是随时会发布到 npm 的，贡献组件**务必拉分支**

* .[editorconfig](http://editorconfig.org/)，请让自己的编辑器支持这个

* [wiki](/imweb/imui/wikis/home)，**请仔细阅读**

* [规范](/imweb/imui/wikis/style-guide)，**eslint 和 sasslint 必须验证通过**。


### 项目目录

```
external 一些和 **组件** 无关的资源
mock 开发过程中可能需要模拟一些数据 [文档](http://fis.baidu.com/fis3/docs/node-mock.html)
imui 静态站点的目录，生成站点的时候出现
dist 编译后的文件目录，发布到 npm 时出现
build 构建相关的脚本
```

### 组件目录

所有文件都是 `.jsx` 。

```
tab/
  demo/    必须
    index.html   必须，可以在上面 dev ，顺边做为 demo ，这个会自动生成到 demo 首页
  style/   必须，组件样式
  lib/     非必须，可以用 src 什么的替代
  index.jsx   必须，入口文件
```


### 样式

类名必须以 `im-` 开头。

```scss
.im-tab {
  // 头部
  &-hd {
    @extend %clearfix;
    font-size: 16px;
    background: #fff;
  }
}
```

### 调试

```bash
npm start

http://127.0.0.1:3000/ # 首页
http://127.0.0.1:3000/components/tab.html # 单个组件

```


### 单元测试

```bash
npm run test
```

### 文档化
```
npm run docz:dev     // 站点本地调试
npm run docz:build   // 站点构建
```


## 发布

### 发布到 npm

```bash
npm run dist
```

### 发布到 imweb.github.io

```bash
npm run pubsite
```
