# olymComponents
奥林前端工程组件库
## 奥林大掌柜物理服务有限公司前端规范
### 1.工程目录结构
```
+-- build
| +-- build.js
| +-- check-version.js
| +-- compress-js.js
| +-- server.js
| +-- utils.js
| +-- webpack.base.conf.js
| +-- webpack.build.conf.js
| +-- webpack.dev.conf.js
| +-- webpack.build.conf.js
| +-- webpack.prod.conf.js
| +-- webpack.test.conf.js
+-- config
| +-- build.env.js
| +-- dev.env.js
| +-- index.js
| +-- prod.env.js
| +-- test.env.js
+-- src
| +-- actions
| +-- components // 具有一定通用性,被多个containers引用的
| | +-- ComponentA
| | | +-- ComponentA.jsx
| | | +-- ComponentA.less
| | ...
| +-- containers // 各业务页面
| | +-- PageA
| | | +-- PageA.jsx
| | | +-- PageA.less
| | ...
| +-- reducers
| +-- router
| +-- util // 统一放工具类
| +-- app.jsx
| +-- index.html
| +-- main.jsx
+-- static
| +-- assets
| +-- common
| +-- style
+-- .babelrc
+-- .gitignore
+-- package-lock.json
+-- package.json
+-- webpack.config.js
+-- yarn.lock
```
### 2.代码规范
#### 2.1 名称方式
* 组件名称:大驼峰
- 属性名称:小驼峰
- 事件处理函数:handleSomething
- 自定义事件属性名称:onSomething={this.handleSomething}
- key: 不能使用数组 index ,构造或使用唯一的 id
- 组件方法名称:避免使用下划线开头的命名
#### 2.2 代码风格
* 缩进
2个空格(重点)
* 空格
Object的花括号要加1个空格,react的转义不用空格
* 对齐
``` jsx
// bad