Closed yutingzhao1991 closed 5 years ago
方案 1 的话,如何调试区块。
方案 1 的话,如何调试区块。
最简单的方案,区块独立调试。单个区块自己调试,在区块下面运行 umi dev
。区块应该是和 layout 解耦的。
方案 1 会清晰很多
大部分情况下使用 pro 首先要删除 pages 下面的文件,我们如果在 pro 的中提供一个命令,可以读取配置,拉下来区块,初始化基于 pro 的脚手架就会变得非常简单
blocks: [
'login'
]
大部分情况下使用 pro 首先要删除 pages 下面的文件,我们如果在 pro 的中提供一个命令,可以读取配置,拉下来区块,初始化基于 pro 的脚手架就会变得非常简单
这个是肯定的,和怎么组织 pro 的代码没有直接关系,不管我们怎么管理 pro 的代码,最终对于用户来说应该都是通过 cli 工具来灵活的初始化项目。
umi block fetch
umi block fetch
这个是要干嘛的?添加一个区块应该就是 umi block add xxx
。
拿到 list 里所有的区块,依次 add 。
形成一个规范,有个地方可以配置默认的区块文件,add的时候给数组push一个
方案一的确清晰很多,而且有利于大家 fork 出来修改,与其他技术栈组合,并给大家做展示。
umi/create-react-app,js/ts ,redux/mobx/dva/hooks 等技术栈的组合,方案一代码量少,更易做。
话说区块如果会当 package 打包发布,调试区块不能用 npm link 吗?
顺便提个小问题,如果使用方案一,那么 npm 上的 ant-design-pro
这个 package 是由 ant-design/pro-blocks 构建出来的吗?
拿到 list 里所有的区块,依次 add
这个感觉不应该 umi 做,应该是 pro cli 来做。
话说区块如果会当 package 打包发布,调试区块不能用 npm link 吗?
调试方案确实是可以改进的,比如可以写一个 umi 插件,把某一个路由直接指向一个区块的路径。
顺便提个小问题,如果使用方案一,那么 npm 上的 ant-design-pro 这个 package 是由 ant-design/pro-blocks 构建出来的吗?
不会 ant-design-pro 还是和现在一样是组件,区块直接放在 git 就行,不需要发布为 npm 包。
@sorrycc @zombieJ @yesmeck @xiaohuoni 你们有什么想法没?
关于TypeScript 和 ES6 不建议同时支持,建议只支持TypeScript 或者只支持ES6 ,如果在一个项目里面既写TS又写es会不会感觉很怪异? 如果一定要支持,是否可以维护一份ES的分支,主要支持TS? 以分支的方式进行维护,这样项目的结构就很清晰了
@a854363956 同时支持的意思不是说一部分是 ts 一部分是 es,就是指支持两种方式的完整的代码。
@a854363956 同时支持的意思不是说一部分是 ts 一部分是 es,就是指支持两种方式的完整的代码。
明白了,理解错了..
决定使用方案一,另外其他几个问题的方案如下:
components 下面 ant-design-pro 这个包的代码放哪里,是否和 layout 放在一起,如果放在一起那么怎么在初始化项目的时候把它抽离出去?
比较通用的组件未来会抽取到 antd 中,其他无法抽取的直接放在 block 中。
如果要同时支持 TypeScript 和 ES6 的版本,基于 TS 的代码编译成为 ES6 的,那么 ES6 的代码放哪里?
放到单独的分支中。
如果区块放到 ant-design 中直接维护,那么 umi-blocks/ant-design-pro 的区块将要删除,umi block list 这个命令就再也看不到 pro 的区块,这个要怎么解决?
这个不重要,后面再看看。
pro v4 branch: https://github.com/ant-design/ant-design-pro/tree/v4
pro-blocks repo: https://github.com/ant-design/pro-blocks
在 Ant Design Pro V4 版本中,我们将要通过区块来组织页面,并且需要能够让开发可以通过 cli 工具来初始化 pro 的项目,能够灵活的选择初始化的页面,以及是否使用 TypeScript 等。不再像以前那样通过直接 clone ant-design-pro 的代码来使用,这就意味着 V4 版本的代码组织方式也将有所不同。需要讨论下后面怎么组织 V4 的代码。
当前有两个初步的方案:
方案 1:
方案 2:
另外还有其他需要考虑的问题:
umi block list
这个命令就再也看不到 pro 的区块,这个要怎么解决?