Skip to content
本页导航

为什么要分层?

  • 合并困难:根据标准版复制出多个项目之后,常常会有新增的优化迭代需求,需要逐个项目合并
  • 标准版本和个性化版本差别会越来越大,甚至无法合并
  • 个性化需求和标准需求分不开

怎么分层?

将标准版和个性化需求分开管理,在编译时进行文件级别的组装,用个性化版本文件替换标准版文件,达到个性化目的。 个性化部分一般用于对UI层逻辑修改。遇到问题把握住一点,就是只做文件级别的替换新增,而且是按照目录结构替换新增。

img_3.png

项目结构说明

img_1.png

项目由3部分组成

  • 从模板项目(feat/layer分支)派生出来的标准版项目,独立git,标准版逻辑写在investoday文件夹下
  • cix在investoday文件夹下检出,独立git
  • xxzq为券商个性化部分逻辑,和investoday同级,该文件夹独立git
    1、个性化版本如果有要修改标准版文件的,将标准版文件按照目录结构拷贝到该文件夹下修改
    2、如果xxzq中有新增文件,按照项目规范在xxzq下创建,编译时同步新增到标准版下
    3、如果新增页面记得将app.config.ts,也拷贝到xxzq下进行修改
  • 新增页面逻辑层hook层,命名为indexS.ts,将之前在indexT.ts里的业务逻辑写在indexS.ts,引入到indexT.ts中,一般情况下券商个性化版本就只需要修改indexT.ts和index.vue
  • 【xxzq原则】有修改再复制过来,无修改不复制

老项目迁移指引👉

1、新增investoday文件夹

INFO

在项目src下新建investoday文件夹将原来src下的所有文件拷贝到investoday下,包括cix,cix也在src下检出,完成项目目录如下图 img_2.png

2、config下新增plugins

位置:模板项目feat/layer分支 config/plugins下的文件

INFO

模板项目feat/layer分支 config/plugin下的文件拷贝到项目中 img_4.png

3、修改配置

修改config/index.js

  • BuildConfig,uploadCos变量添加investoday层级
  • sourceRoot: 'src/investoday'
  • 给项目alias添加investoday层级img_5.png
  • config/prod.js中引用BuildConfig的地方也要添加investoday层级

修改package.json

  • devDependencies中添加"chokidar": "^3.5.3"

lhiro