TD Mono: pro components
pro components
现状和问题
之前规划的 pro components 是直接放在的 components 下的,比如 chat,结构是 components/chat。 但真正实施后发现有几个大的问题:
-
出口文件混乱 因为 pro components 都是要单独发包的,因此打包时需要属于自己的 index.ts 和 index-lib.ts,这就与当前的 components 重合了,因此临时使用了 pro-components.ts 和 pro-components-lib.ts,这显然不行,这不仅丑陋,同时还无法满足后续多 pro components 的需求
-
构建混乱 按照现在的方式,一方面会侵入 tdesign-vue-next 的打包(需要排除 pro components),另一方面出口文件名需要 fs 重写
3.语义模糊 因为 pro components 需要直接依赖 tdesign-vue-next ,但 components 下的组件都是相对引用的,这在语义上就和其它基础组件不一样了,开发起来也会混乱
解决方案
单独将 pro-components 拎出来,和 components 一个层级,里面包含 chat 等,这样 chat 就可以有自己的 index.ts,index-lib 等了,然后把复用的部分,hooks types 也拎出来。
这样做后好处如下:
- 解决打包的所有问题
- 从结构解决了为啥这些组件是引入的 tdesign-vue-next,而不是相对路径
分步实现
- pro-components 拎出来 pro-components/chat
- 公共部分抽离
- hooks
- utils
- types
👋 @zhangpaopao0609,感谢给 TDesign 提出了 issue。 请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。
API 平台改造
- [ ] 新增pro components分类,输出文档、类型都需同步调整至pro-components内,同时对基础组件的依赖调整为
tdesign-xx