Open shane13hsi opened 9 years ago
这里更新一下问题域,便于后续实施:
已经解决的问题域:
√ 前端开发辅助工具搭建 - 参考项目 ehr-seed
注:我对 test 的想法不是很高,业务逻辑有全职的 QA 负责,目前仅仅关注 component 测试
正在解决的问题域: ø 分层 - 虽然是正在解决,但是目前在冻结状态。目前前端无复杂业务逻辑,主体代码在 UI Presentation 上。这块在问题域“组件开发”。
暂不解决
! API 设计 - 目前使用 customized RESTful EndPoint,等待 Relay
TOC
TL;DR;
以下为我在前端实践中遇到的问题的记录,解决方案探讨的记录等一切记录。
以下前端特质HR项目中实施的前端,关键词为:点评人力资源平台,PC端,ace admin,react,flux等。
参考示例:
IDP 前端。IDP 非常简单,代码大多为架子代码,业务代码很少。参考新的 seed 项目,ehr-seed问题域
以下为非合并罗列:
√ 1. 前端基础架子,即分层,separation of concerns - 目前已经分层,后续开 issue 详述 √ 2. 前端开发辅助工具搭建,包括包管理,task runner,和其他辅助工具 - 参考 ehr-seed
当前非重点
满足以下条件:已经完成,对于目前可用,继续研究无太大突破,项目不紧急需要的特性。
1. 前端基础架子
目前方案已经经过面试管理和绩效前台/配置,IDP的项目实践,可以支撑未来几个项目开发。
特征:
一级目录
src 目录
pages 目录(*)
(*)此为核心,有几个特点
注1:这里在 Container 的 componentDidMount 获取,也可以在 componentWillMount,也可以更复杂的,给出公共 static 接口,由 react-router 获取。这里选择最简单清晰的方式,没有看出这几个 hook 的区别,特别是 react-router。
注2:简单应用 store 可以为一个(IdpStore)。除了代码量可能会变多之外,多个 stores 没有看出什么好处。另外,这一块也是未成熟的地方。暂时不深究,flux 也没有给出很好的解释。之后可以从其他设计得到灵感。
注3:actions 包括 serverActionCreators 和 viewActionCreators)。这块和 pages 耦合紧密,可以放到 pages 里。
2. 前端开发辅助工具搭建
已经成熟,在做服务端渲染前,可以冻结。
webpack 都是 low-level 的 API,具体使用看 gulpfile 就行。
3. data fetching
上面 1 提到的是何时 fetch data,包括如何处理 async actions。
这里的是指 ajax lib 选择,目前使用最简单的 superagent 获取,简单加了两个插件,即 AOP 插件和 no-cache 插件。
期望,发送请求时,给出 hook,设置为 loading,请求成功,请求失败,这样可以设置页面 loading 效果。其他优化需要深入研究
4. API设计
暂时未成熟,使用广义的 RESTful 接口。强依赖后端。前端 data-agnostic。
需要继续研究,改善前后端通讯。
5. functional & reactive programming
暂时不研究。
以上为当前非重点领域。
当前重点