Todo
nikogu opened this issue · comments
参考 vue-cli
、angular-cli
,确定了 pro-cli
的定位。基于 Ant Design Pro 脚手架
的辅助配套工具。README
pro init
:初始化 Ant Design Pro 脚手架pro new
:添加 页面、组件、model 模板- 因为已经是 antd-pro 的脚手架基础,所以这里的页面和组件以及 model 都不是 antd pro 里面的,而是简介的代码模板,详见:https://github.com/ant-design/test2-cli/tree/master/boilerplate ,后续会加上无依赖简化版的页面、组件模板,如:卡片布局(antd pro 里面 dashboard 的页面抽象)、表单页(antd pro 里面 表单页的抽象)等
todo
- init
- model template
- page template
- blank
- BasicForm
- BasicList
- CardList
- component
- smart component(standard)
- dumb component(stateless)
- service template
这个先 hold 一下,线下跟 水鱼沟通了一下,这个问题并没有那么简单,个人感觉最好直接用 bigfish
@afc163
内部工具比较泛滥,我觉得这个问题可能内部需要确定一下
bigfish 外部用不了,pro 本身需要简化和收敛脚手架的配置,这个工具也不会对外服务,就是作为脚手架本身的搭配,这个不冲突。
@afc163 bigfish 改一下就可以开源了,其中涉及到很多问题,比如:
如果封装成 pro start
,是否还需要暴露 roadhog的配置文件,如 .roadhogrc
等,如果需要做到 bigfish 那样很全面的封装(只暴露 bigfish )其他依赖工具都集成好,那么 roadhog 还用不了(之前他们俩讨论过),所以底层的 start、build、lint 都要自己写,但是这些 bigfish 都写好了
如果我们需要开源版,可以用让 bigfish 支持(可把内部需要改成插件机制?)
现在工具充斥着:roadhog、dora、ant-tool、bigfish....再来一个 pro
=。-
确实会有问题,可以先 hold 按 cli 工具来。
经过上次周报的讨论,那么 pro cli
具备的功能只是 new template 吗? @afc163 @ddcat1115 看下
dva g xx 的功能要不要一起集成进来,毕竟都是创建模板。
实际用了下 dva g
,貌似不是很好用...我们直接包含他的模板好了,我还想的直接调用它
模板要从远端读取并缓存在本地。
最新更新(包含产品定位),详见一楼: @ddcat1115 @afc163
因为已经是 antd-pro 的脚手架基础,所以这里的页面和组件以及 model 都不是 antd pro 里面的,而是简介的代码模板
除了内建的空页面/简化模板之外,需要直接远程读取 pro 里的完整模板,否则内容无法同步。
这块的使用方式,要结合『新建页面』文档。让用户很简单就能创建他们的业务模板。
@afc163 不用吧 =。-,用户默认不是用的 ant design pro
的脚手架吗,默认包含组件?
如果他用的不是,那么使用会有一些问题,因为我们路由、工具函数之类的都有依赖关系,用起来会不会太复杂。
我设想的是,后期跟 vue-cli
一样,有很多模板可以选择,我们现在这个是大而全的(全家桶),后面有了配置功能
,就会有更多脚手架模板,这样在脚手架基础上,做配套就规范好用很多。
所以,如果前提是基于我们基础脚手架,那么远程 fetch 组件的功能是方便易用的,否则现在基本上同步内容不太靠谱,因为我们 antd pro 都有相互的依赖关系,比如 layout 依赖 utils 和 common/nav,这些依赖倒是可以拉过来,但是可能用户就蒙逼了 =。-
感觉是个问题。
我的初始预想是这样的,我们有很多内建的模板。用户需要开发一个详情页面,使用 pro-cli 在命令行输入 pro new
,我们把已有模板列给他,然后选择『基础详情页』,bang,基本的页面和坑位都建好了,而且能预览。然后他开始填接口、数据、和内容。
具体技术上可能会比较复杂,如果他修改了路由、移除和修改了业务组件等等。。
用户需要开发一个详情页面,使用 pro-cli 在命令行输入 pro new,然后选择『基础详情页』,bang,基本的页面和坑位都建好了。然后他开始填接口、数据、和内容。
这个如果是抽象的内容(基于现有 pro 的页面模板的简化,去掉相关依赖,只需要提供占位)是可以实现的,也是现在 pro 需要做的,但是如果直接用 pro 里面的模板,比如:BasicLayout,是有问题的,因为它依赖了项目里其他的东西(common/nav & 各种 components/xxx)
后续的计划就是抽离几个模板:
- Form Template
- List Template
- DashBoard template
- Login template
除非把 BasicLayout 、业务组件、utils 都抽象掉,封装成更高维度的应用。否则我的设想比较难达成。
可以先跟 vue-cli
和 angular-cli
一样,提供一些常用的简单模板,后续较为复杂的可以在想想。
抽离确实可以解决问题,相当于提成了独立的组件/模板,单独维护。
我担心的是,两边如何保持同步,pro 架构改了怎么办,一些模板升级/修改/优化了怎么办,有没有办法进行同步。
对,但是这样又失去了灵活性。
要不还是先抽离,因为抽离的模板应该不多,可以先人肉维护更新,后续想到好的办法再来替换,因为实际上这些模板如果自动生成,用起来还是很爽的,vue-cli
也就 5、6 个脚手架模板,用的人好多。。。
可以,我感觉现在有空页面都会方便很多,包括 services、model、smart component、dumb component 的联动创建。先有个东西体验体验。