2024.04.30
1. 背景
和平横版之前是在 hp-match/dzs-match2 中,为了方便组件和逻辑复用,需要尽早迁移到 dzs-match 这个主工程中,避免维护两套。
目标架构:

2. 迁移方法
采用脚本迁移。好处是:
- 工作量小
- 减少出错
脚本迁移策略:
- 对于公共目录,如
src/local-component
,src/local-logic
,先查找之前是否存在,如不存在则直接复制,如存在但文件内容不相同,则新建对应的-gp-hor
文件夹,进行复制,如存在且该目录下所有文件内容相同,则略过 - 新建
gp-hor
子工程,对之前的子工程进行拷贝 - 记录下所有路径变化的文件,包括
x-gp-hor
的公共组件、逻辑,也包括gp-hor
子工程下的文件,生成新旧文件映射 - 对复制的所有文件的引入路径,根据映射关系进行替换
迁移后的工作量
- 新建
pages.json
、manifest.json
,uni-app 项目没有这两文件跑不起来 pages.json
只需要入口,其他页面路由还是从router.js
中传给uni-simple-router
babel.config.js
中支持vant
的按需引入- 其他适配,比如
input
样式
工程内的适配工作较小,目前发现:
- 之前的做的乱七八糟的 ts 组件,各种 this as any,在编译期报错,需改回 js
- input、textarea 等元素被 uni-app 包装重写,需要样式更新
- 样式穿透由 >>> 改成 ::v-deep
3. 后续规划
当前阶段只是完成迁移,仍有一部分重复的代码,后面跟随需求重构。
后续,横竖版公用的逻辑、组件分别放到 local-logic
、local-component
中,核心组件、逻辑下沉到 press-plus
中。